Avatar billede tupsy Nybegynder
16. maj 2002 - 09:27 Der er 53 kommentarer og
1 løsning

Opdele poster i ugenr.

Jeg har følgende i en tabel :

Jeg har et dato felt i formatet 05-04-02 00:59:44
Jeg har et udstyrsnummer
Jeg skal så have en rapport ud der viser antal poster., Pr. udstyr, Pr. uge og angivet med ugenummer.
Jeg ved Excel kan, så kan Access mon ikke også så??

Håber I forstår...
Ellers spørg....

Tupsy!!
Avatar billede bennytordrup Nybegynder
16. maj 2002 - 09:31 #1
select Item, DatePart('ww',DateField) as WeekNo, Count(*)
from Entabel
group by Item, DatePart('ww',DateField)
Avatar billede tupsy Nybegynder
16. maj 2002 - 10:03 #2
Kan jeg logge dig til at skrive denne sql sætning om til det eks. du gav???
Kan ikke helt se hoved eller hale i det..

SELECT DISTINCTROW Equipment.[Id nr], Equipment.Navn, Repseddel.[Oprettet kl], Repseddel.Udstyr
FROM Equipment INNER JOIN Repseddel ON Equipment.[Id nr] = Repseddel.Udstyr;

Tupsy!!
Avatar billede bennytordrup Nybegynder
16. maj 2002 - 10:15 #3
select Equipment.[ID nr], Equipment.Navn, DatePart('ww', Repseddel.[Oprettet kl]) as [Oprettet i uge]
from Equipment inner join Repseddel on Equipment.[ID nr] = Repseddel.Udstyr
group by Equipment.[ID nr], Equipment.Navn, DatePart('ww', Repseddel.[Oprettet kl])
Avatar billede tupsy Nybegynder
16. maj 2002 - 12:26 #4
Det er noget jeg skal bruge på arbejdet...
Jeg tester det lige imorgen når jeg kommer derud igen... (Vi strejker resten af dagen pga. regeringens deltids foreslag)

Så skal du nok få point...

Men for at forstå det...
Den opretter så vidt jeg kan se en beregnet kolonne som hedder "Oprettet i uge"

Er det rigtigt???
Avatar billede bennytordrup Nybegynder
16. maj 2002 - 12:39 #5
Præcis
Avatar billede tupsy Nybegynder
17. maj 2002 - 07:07 #6
Det virker, næsten...
Fik mig nok ikke forklaret helt godt nok...

Det jeg skal bruge er en rapport der viser (Eks) :
Equipment    Uge1  Uge2  Uge3  Uge4  osv.
  314        15    10    14      24
  416        16    26      7      13

Osv. derned af...
Altså, den skal tælle hvor mange reps. der er på hvert udstyr i de forskellige uger...

Kan man det??
Avatar billede tupsy Nybegynder
17. maj 2002 - 07:08 #7
Nåå, ja..
Tabellen jeg fik lavet så fint ud da jeg lavede den.. Håber I forstår min mening...
Avatar billede bennytordrup Nybegynder
17. maj 2002 - 08:41 #8
Det, du vil have fat i, er en krydstabulering (skrevet *meget* OTOMH)

transform Count(Repseddel.udstyr)
select Equipment.[ID nr], Equipment.Navn, DatePart('ww', Repseddel.[Oprettet kl]) as [Oprettet i uge], Count(Repseddel.udstyr)
from Equipment inner join Repseddel on Equipment.[ID nr] = Repseddel.Udstyr
group by Equipment.[ID nr], Equipment.Navn, DatePart('ww', Repseddel.[Oprettet kl])
pivot DatePart('ww', Repseddel.[Oprettet kl])
Avatar billede tupsy Nybegynder
17. maj 2002 - 08:56 #9
90% rigtigt... :-)
Kan man gruppere equipment så der kun er 1 linie for hvert udstyr??
Altså så hvert udstyr ikke har en linie for hver uge???
Altså så der står :
Equipment    Uge1  Uge2  Uge3  Uge4  osv.
  314        15    10    14      24
  416        16    26    7      13

og ikke
Equipment    Uge1  Uge2  Uge3  Uge4  osv.
  314        15   
  314              10
  314                    14     
  314                            24
  416        16   
  416              26
  416                      7     
  416                            13
 

Og med et samlet felt til sidst så den ligger de forskellige uger sammen til et samlet antal fundne poster for hvert udstyr??

Håber mine tabeller bliver til at finde ud af...
Avatar billede bennytordrup Nybegynder
17. maj 2002 - 08:59 #10
Prøv med select distinct
Avatar billede tupsy Nybegynder
17. maj 2002 - 09:00 #11
Hjalp ikke..
Ser stadig ud som før...
Avatar billede tupsy Nybegynder
17. maj 2002 - 09:01 #12
TRANSFORM Count(Repseddel.Udstyr) AS CountOfUdstyr
SELECT distinct Equipment.[Id nr], Equipment.Navn, DatePart('ww',Repseddel.[Oprettet kl]) AS [Oprettet i uge], Count(Repseddel.Udstyr) AS CountOfUdstyr1
FROM Equipment INNER JOIN Repseddel ON Equipment.[Id nr] = Repseddel.Udstyr
GROUP BY Equipment.[Id nr], Equipment.Navn, DatePart('ww',Repseddel.[Oprettet kl])
PIVOT DatePart('ww',Repseddel.[Oprettet kl]);
Avatar billede bennytordrup Nybegynder
17. maj 2002 - 09:05 #13
TRANSFORM Rep2.CountOfUdstyr
SELECT distinct Equipment.[Id nr], Equipment.Navn,  AS CountOfUdstyr1
FROM Equipment INNER JOIN (select RepSeddel.Udstyr, DatePart('ww',Repseddel.[Oprettet kl]) AS [Oprettet i uge], Count(*) as CountOfUdstyr from Repseddel group by DatePart('ww',Repseddel.[Oprettet kl])) as Rep2 ON Equipment.[Id nr] = Rep2.Udstyr
order BY Equipment.[Id nr], Equipment.Navn
PIVOT [Oprettet i uge]
Avatar billede tupsy Nybegynder
17. maj 2002 - 09:09 #14
Den skriver syntaksfejl i dette stykke..

Equipment.Navn,  AS CountOfUdstyr1
Avatar billede bennytordrup Nybegynder
17. maj 2002 - 09:11 #15
TRANSFORM Rep2.CountOfUdstyr
SELECT Equipment.[Id nr], Equipment.Navn
FROM Equipment INNER JOIN (select RepSeddel.Udstyr, DatePart('ww',Repseddel.[Oprettet kl]) AS [Oprettet i uge], Count(*) as CountOfUdstyr from Repseddel group by DatePart('ww',Repseddel.[Oprettet kl])) as Rep2 ON Equipment.[Id nr] = Rep2.Udstyr
order BY Equipment.[Id nr], Equipment.Navn
PIVOT [Oprettet i uge]
Avatar billede tupsy Nybegynder
17. maj 2002 - 09:13 #16
Syntaksfejl i from sætningen..
Men stop lidt..
Jeg har fået det til at se rigtig ud ved hjælp af en rapport...
Det eneste jeg nu mangler nu er at den tæller hvor mange poster der er for hvert udstyr ialt...
Avatar billede tupsy Nybegynder
17. maj 2002 - 09:16 #17
Den SQL sætning der funker er :
TRANSFORM Count(Repseddel.Udstyr) AS CountOfUdstyr
SELECT Equipment.[Id nr], Equipment.Navn, DatePart('ww',Repseddel.[Oprettet kl]) AS [Oprettet i uge], Count(Repseddel.Udstyr) AS CountOfUdstyr1
FROM Equipment INNER JOIN Repseddel ON Equipment.[Id nr] = Repseddel.Udstyr
GROUP BY Equipment.[Id nr], Equipment.Navn, DatePart('ww',Repseddel.[Oprettet kl])
PIVOT DatePart('ww',Repseddel.[Oprettet kl]);
Avatar billede bennytordrup Nybegynder
17. maj 2002 - 09:17 #18
Fint nok
Avatar billede tupsy Nybegynder
17. maj 2002 - 09:19 #19
Det er vel CountOfUdstyr1 der skal ligges sammen for hvert udstyr??
How du I do that??

Dette er et meget højre plan end jeg helt kan følge med på... :-/
Avatar billede bennytordrup Nybegynder
17. maj 2002 - 09:23 #20
har du prøvet at oprette en krydstabulering via den Guide, der er i Access?
Avatar billede tupsy Nybegynder
17. maj 2002 - 09:25 #21
Nix.. Det anede jeg ikke man kunne...
Men, jeg har nu fået den til at ligge ugerne sammen i rapporten..
Problemet ved det er at man så ikke kan sortere efter det...
Derfor ville jeg gerne have det med i SQL sætningen...
Avatar billede tupsy Nybegynder
17. maj 2002 - 09:34 #22
Arrk.. Jeg kan ikek få det krydstabulering halløj til at virke...
Måske der mangler nogle komponenter at blive installeret her på min job PC... :-(

Kan du mon lave en sum række i SQL sætningen??
Avatar billede bennytordrup Nybegynder
17. maj 2002 - 09:35 #23
Hvor stor er db?
Avatar billede tupsy Nybegynder
17. maj 2002 - 09:37 #24
Lige nu er den på lige knap 600 poster...
Avatar billede tupsy Nybegynder
17. maj 2002 - 09:38 #25
jeg har prøvet at sætte , Sum(CountOfUdstyr1) AS Ialt ind i SQL sætningen.. Men nej...
Avatar billede bennytordrup Nybegynder
17. maj 2002 - 09:38 #26
mail den til bennytordrup@hotmail.com
Avatar billede tupsy Nybegynder
17. maj 2002 - 09:43 #27
Helst ikke..
Det er lidt internt...
Desværre.... :-(
Men jeg må ikke...
Avatar billede bennytordrup Nybegynder
17. maj 2002 - 09:45 #28
Prøv at gå i Funktioner, Analyser, Strukturvisning.

Marker de to tabeller, vi arbejder med og få vist det. Send resultatet til mig.

Lav evt. også nogle testdata fra de to tabeller.
Avatar billede bennytordrup Nybegynder
17. maj 2002 - 09:45 #29
Jeg kan bedre hjælpe, hvis jeg har struktur og testdata
Avatar billede tupsy Nybegynder
17. maj 2002 - 09:47 #30
Så går Access kold.. Hold da kæææft det går godt hva'?? :-(

Tupsy!!
Avatar billede bennytordrup Nybegynder
17. maj 2002 - 09:49 #31
Kan du overhovedet gå i design-mode af tabellerne?
Avatar billede tupsy Nybegynder
17. maj 2002 - 09:49 #32
I min rapport gør jeg følgende for at få det jeg mangler :
=Sum([CountOfUdstyr1])

Men det kan jeg bare ikke sortere efter... :-(
Avatar billede tupsy Nybegynder
17. maj 2002 - 09:50 #33
Ja det kan jeg..
Avatar billede bennytordrup Nybegynder
17. maj 2002 - 09:51 #34
Kan du lave en liste over de nødvendige felter fra de to tabeller i Word og eksportere lidt data fra dem til Excel og sende det til mig?
Avatar billede tupsy Nybegynder
17. maj 2002 - 09:57 #35
Har lige sendt dig en wordfil..
Ved ikke om du kan bruge  det...
Avatar billede tupsy Nybegynder
17. maj 2002 - 10:01 #36
Der er forresten ca. 3000 poster istedet.. :-)
Avatar billede bennytordrup Nybegynder
17. maj 2002 - 10:02 #37
Jeg har ikke modtaget noget endnu.
Avatar billede tupsy Nybegynder
17. maj 2002 - 10:02 #38
Hmm, måske vores mailserver ikke sender det ud med det samme...
Avatar billede tupsy Nybegynder
17. maj 2002 - 10:12 #39
Stadig intet???
Avatar billede bennytordrup Nybegynder
17. maj 2002 - 10:24 #40
Nej
Avatar billede bennytordrup Nybegynder
17. maj 2002 - 10:25 #41
Jo, sorry
Avatar billede bennytordrup Nybegynder
17. maj 2002 - 10:28 #42
Det er ikke helt godt. Kan du ikke eksportere fra Access fra de to tabeller i stedet?
Avatar billede tupsy Nybegynder
17. maj 2002 - 10:33 #43
Har sendt igen...
Så må vi se hvornår det dukker op...
Avatar billede tupsy Nybegynder
17. maj 2002 - 11:01 #44
Modtaget???
Det jeg mangler er det samlede antal poster pr. udstyr som en beregnet kolonne..
Avatar billede bennytordrup Nybegynder
17. maj 2002 - 11:09 #45
Her er den så...

transform count(repseddel.[rep nr]) as AntalOfRep
select Equipment.[ID nr], Equipment.Navn, Count(Repseddel.[Rep nr]) AS [I alt Rep nr]
from Equipment inner join Repseddel on Equipment.[ID nr] = Repseddel.Udstyr
group by Equipment.[ID nr], Equipment.Navn
pivot DatePart('ww', Repseddel.[Oprettet kl])
Avatar billede tupsy Nybegynder
17. maj 2002 - 11:19 #46
Ja, nu kom det samlede antal med...
Men nu er kolonnen CountOfUdstyr1 væk... :-(

Skal du snart have flere point for denne kringlede opgave???
Avatar billede bennytordrup Nybegynder
17. maj 2002 - 11:21 #47
Hvad skulle countofudstyr1 bruges til?
Avatar billede tupsy Nybegynder
17. maj 2002 - 11:23 #48
Se i wordfilen jeg sendte..
Det er den der bliver brugt til at skrive tallene under "Fejl pr. uge"
Avatar billede bennytordrup Nybegynder
17. maj 2002 - 11:24 #49
OK. Så hedder den her AntalOfRep
Avatar billede tupsy Nybegynder
17. maj 2002 - 11:28 #50
Hmm, tror nu mere det har noget med gruperingen til sidst at gøre...
Nu er der nemlig også kun 1 linie pr. udstyr.
Før var der 1 linie pr. UGE pr. udstyr...
Avatar billede bennytordrup Nybegynder
17. maj 2002 - 11:30 #51
Ja, og den linie per uge per udstyr ville du jo ikke have, jvf. 17/05-2002 08:56:01
Avatar billede tupsy Nybegynder
17. maj 2002 - 11:33 #52
Ja, sorry.. Ved det godt...
Men opdagede faktisk at det andet virkede federe... :-(
Så denne her funkede :
TRANSFORM Count(Repseddel.Udstyr) AS CountOfUdstyr
SELECT Equipment.[Id nr], Equipment.Navn, DatePart('ww',Repseddel.[Oprettet kl]) AS [Oprettet i uge], Count(Repseddel.Udstyr) AS CountOfUdstyr1
FROM Equipment INNER JOIN Repseddel ON Equipment.[Id nr] = Repseddel.Udstyr
GROUP BY Equipment.[Id nr], Equipment.Navn, DatePart('ww',Repseddel.[Oprettet kl])
PIVOT DatePart('ww',Repseddel.[Oprettet kl]);

Manglede bare samlede antal reps pr. udstyr...

Håber ikke du er knotten på min nu?? :-/
Avatar billede bennytordrup Nybegynder
17. maj 2002 - 11:40 #53
Det kan du ikke, da du har delt de enkelte udstyrs reparationer ud på flere linier (og over et år kan du have op til 53 linier per udstyr.

Hvis du fjerner DatePart fra Select-delen og Group By-delen, så får du det samlede antal reps pr udstyr.
Avatar billede tupsy Nybegynder
17. maj 2002 - 12:00 #54
Ok, så må jeg jo leve med ikke at kunne sortere efter samlede antal reps...
1000 tak for hjælpen...

Tupsy!!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester