Avatar billede nordclc Nybegynder
02. november 2005 - 20:17 Der er 11 kommentarer og
1 løsning

Vis tidsintervaller pr. dato

Jeg skal lave en rapport som tæller antal poster pr. dato pr tidsinterval. Tabellen ser ud som følger:

Dato (DatoTid)
Knr  (int)

Så skal man i rapporten indtaste fra/til dato og pr. dato få vist antal poster i de forskellige intervaller. Eks.:

Dato              Knr
================  ===
01.11.2005 09.00  123
01.11.2005 09.30  110
01.11.2005 10.00  15
02.11.2005 09.02  123
02.11.2005 09.45  200

Skal give resultatet:
          09-10  10-11
01.11.2005  2      1
02.11.2005  2      0

Håber det er til at forstå, ellers spørg gerne ;o)

Mvh Nordclc
Avatar billede sjap Praktikant
02. november 2005 - 20:45 #1
Den her lille forespørgsel skulle klare sagen:

TRANSFORM Count(Knr) AS Antal
SELECT Int([Dato]) AS DatoX
FROM Tabel1
GROUP BY Int([Dato])
PIVOT Format(Hour([Dato]),"00") & "-" & Format(Hour([Dato])+1,"00");

Du skal blot lige ændre "Tabel1" til navnet på din tabel.
Avatar billede kabbak Professor
02. november 2005 - 20:56 #2
skal vi lige tage datoformatet med, ellers fint sjap.


TRANSFORM Count(Tabel2.Knr) AS Antal
SELECT Format(Int([Dato]),"dd/mm/yyyy") AS DatoX
FROM Tabel2
GROUP BY Format(Int([Dato]),"dd/mm/yyyy")
PIVOT Format(Hour([Dato]),"00") & "-" & Format(Hour([Dato])+1,"00");
Avatar billede sjap Praktikant
02. november 2005 - 20:59 #3
Ja, datoformatet havde jeg lavet direkte i cellen, men det kan man jo ikke se af SQL'en ;0)
Avatar billede nordclc Nybegynder
02. november 2005 - 21:01 #4
Kanon sjap, det virker bare. Tusind tak for hjælpen.

Mvh Nordclc
Avatar billede nordclc Nybegynder
02. november 2005 - 21:07 #5
Ha ha, hvordan sorterer jeg i stigende datoorden, når nu jeg gerne vil have vist datoen som dd.mm.yyyy?
Avatar billede sjap Praktikant
02. november 2005 - 21:11 #6
Hvis du har brugt mit forslag (dvs. uden datoformatering), så kan du gøre det ved i forespørgslens designvindue at højreklikke på datofeltet, vælge egenskaber, og så angive formatet som dd-mm-åååå
Avatar billede sjap Praktikant
02. november 2005 - 21:13 #7
Ups, jeg så ikke lige punktummerne, men så kan du jo bare ændre formatet til dd.mm.åååå (Access ændrer det automatisk til dd\.mm\.åååå men det skal du ikke tage dig af).
Avatar billede nordclc Nybegynder
02. november 2005 - 22:09 #8
Ahhh smart. Tak endnu engang.
Avatar billede nordclc Nybegynder
02. november 2005 - 22:20 #9
30 point mere for et svar på dette tillægsspørgsmål: Jeg vil gerne begrænse datointervallet til en valgfri start/slut dato og så er det kun i tidsrummet 07-08.......20-21.
Avatar billede sjap Praktikant
02. november 2005 - 23:34 #10
Prøv med:

TRANSFORM Count(Knr) AS Antal
SELECT Int([Dato]) AS DatoX
FROM Tabel1
WHERE (((Int([Dato]))=#11/1/2005#) AND ((Hour([Dato]))>=7 And (Hour([Dato]))<=20))
GROUP BY Int([Dato])
PIVOT Format(Hour([Dato]),"00") & "-" & Format(Hour([Dato])+1,"00");
Avatar billede nordclc Nybegynder
03. november 2005 - 08:51 #11
sjap> Jeg havde tænkt mig at man skulle blive promptet for en start og en slut dato.
Avatar billede nordclc Nybegynder
03. november 2005 - 10:05 #12
Jeg har oprettet spørgsmål 661419 i stedet for.
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