Avatar billede amiedk Nybegynder
07. oktober 2003 - 10:58 Der er 21 kommentarer og
1 løsning

Tid i interval

Hejsa

*klør sig selv lidt i hårdet* .. Jeg har den her database, hvor der bliver indtasted en masse kunder. Ud fra hver kunde bliver der også indtastet et tidspunkt ( Format XX:XX ). Nu vil chefen have en rapport der viser hvor mange kunder der bliver skaffet i nogle tidsintervaller. Jeg kan sagtens lave en Find dubletter forspørgelse, men hvordan får man den til at gøre det i intervaller ??

Jeg skal både lave en normal rapport men også en graf, så jeg vil helst holde mig til forespørgelser istedet for at rode mig ud i noget VB.

Er der en der kan hjælpe mig med det ??
Avatar billede jkrons Professor
07. oktober 2003 - 11:00 #1
Hvad med at prøve BETWEEN #08:00# AND #10:00# som kriterium for din forespørgsel.
Avatar billede hugopedersen Nybegynder
07. oktober 2003 - 11:01 #2
Indtast f.eks.  Between #12:00:00# And #17:00:00#  som kriterie for dit tidsfelt.
Avatar billede hugopedersen Nybegynder
07. oktober 2003 - 11:02 #3
Hvorfor opdaterer denne side ikke mens man skriver sit svar :-)
Avatar billede jkrons Professor
07. oktober 2003 - 11:03 #4
Jeg kender fænomenet :-)
Avatar billede amiedk Nybegynder
07. oktober 2003 - 11:08 #5
ahhh ja selvfølgelig.. hvad så når man har mange intervaller i løbet af dagen.. ( interval på en halv time ) er der så plads til så mange kriterier ??
Avatar billede jkrons Professor
07. oktober 2003 - 11:15 #6
Jeg er ikke sikker på, om du umiddelbart kan gruppere dine data efter intervaller, hvis du kun registrer tidspunkter. Men måske har jeg misforstået, hvad det egentlig er, du ønsker.
Avatar billede terry Ekspert
07. oktober 2003 - 12:01 #7
make a calculated column using Datepart to find (for example) the hour of day an dthen group on this. Then another column counting th enumber of records for each hour.

EXAMPLE:
SELECT DatePart("h",[Timestamp]) AS hh, Count(tblTimeStampUpdate.TimeStamp) AS CountOfTimeStamp
FROM tblTimeStampUpdate
GROUP BY DatePart("h",[Timestamp]);
Avatar billede terry Ekspert
07. oktober 2003 - 12:13 #8
You can also use Between 8 And 15 in the hour column to find those for a given period. If you need the TOTAL for the period then make another query where you

select count(*) from YourGroupQuery where hh between 8 and 15
Avatar billede jkrons Professor
07. oktober 2003 - 12:16 #9
terry-> But waht he really wants is the numbers grouped in 30 minutes intervals.
Avatar billede amiedk Nybegynder
07. oktober 2003 - 12:24 #10
he ??

Ja jeg kan sagtens lave udregningen, men når intervallet skal ned på ½ - 1 time ( har ikke fået feedback endnu fra chefen om det skal være det ene eller det andet endnu), så kommer der for mange kriterier.. det er der den går galt :)

Malene
Avatar billede jkrons Professor
07. oktober 2003 - 12:33 #11
Sorry "she" :-) lidt svært at se på handlet.
Avatar billede terry Ekspert
07. oktober 2003 - 13:10 #12
well it cant be such a great problem finding for example 1/4 hour intervals
Avatar billede terry Ekspert
07. oktober 2003 - 13:10 #13
just to help, there are 60 minutes in an hour :o)
Avatar billede terry Ekspert
08. oktober 2003 - 12:50 #14
!
Avatar billede amiedk Nybegynder
09. oktober 2003 - 11:41 #15
Sorry.. jeg lå syg i går, så jeg har ikke arbejdet videre på den..

Tesen er den at der skal være intervaller.. hvis vi nu bare siger at hvert interval skal være på en time, så er det jo mange kriterier i forspørgelsen og der er kun plads til 8 .. hvordan gør man det så ???

Jeg har lavet en hel normal "Find dubletter" forspørgelse på tid. Cellen den regner ud fra er af format Kort klokkeslætsformat ( XX:XX ) men så snart jeg sætter et kriterie ind "Between #08:00# And #09:00#" laver den det automatisk om til "Between #08:00:00# And #09:00:00#".

Der ud over så samler den dem heller ikke i en stor som jo er meningen. Den viser bare kun de tidsintervaller i det kriterietidsrum. 

Jeg kan godt sende et eksempel på det, hvis der er nogen der vil se det. Er der ikke en der kan hjælpe ??

Malene
Avatar billede terry Ekspert
09. oktober 2003 - 19:45 #16
08:00:00 is for hh:mm:ss which is the same as 08:00

You can send it to me but dont expect miracles, they cost more than 30 points :o)
NOSPAMeksperten@santhell.dkNOSPAM

remove NOSPAM!
Avatar billede amiedk Nybegynder
09. oktober 2003 - 23:45 #17
Jeg sender når jeg kommer på arbejde i morgen tidlig.. og jeg forventer ikke mirakler. Tror ikke det er et stort problem, jeg kan bare ikke lige se lyset til hvordan det skal laves. Det virker nemlig simpelt.

malene
Avatar billede amiedk Nybegynder
10. oktober 2003 - 09:38 #18
Har sendt den til dig Terry.. jeg har også lige fået et par ide'er som jeg lige arbejder videre på.

Malene
Avatar billede amiedk Nybegynder
10. oktober 2003 - 14:53 #19
Jeg har nu kæmpet løs med en masse forskellige ting og jeg kan ikke få den til at tælle. Intervallet skal være på 1 time så den fortæller hvor mange kunder, der er registreret mellem 8-9, 9-10 osv.. der må være en logisk måde at gøre det i forspørgelserne.

Alt jeg prøver gør bare at den kun viser de kunder der er registreret i tidsrummet og ikke tæller dem sammen.

Er der ikke en der har en ide så jeg kan komme videre ?

Malene
Avatar billede terry Ekspert
12. oktober 2003 - 10:28 #20
query for solution
SELECT "Antal kunder lavet mellem " & Hour([tid]) & ":00 - " & Hour([tid])+1 & ":00" AS txt, DatePart("h",[Tid]) AS hh, Count(Kunde.KundeID) AS Antal
FROM Kunde
GROUP BY "Antal kunder lavet mellem " & Hour([tid]) & ":00 - " & Hour([tid])+1 & ":00", DatePart("h",[Tid])
ORDER BY DatePart("h",[Tid]);


Output:
txt                                    hh    Antal
Antal kunder lavet mellem :00 - :00        135
Antal kunder lavet mellem 6:00 - 7:00    6    1
Antal kunder lavet mellem 8:00 - 9:00    8    5
Antal kunder lavet mellem 9:00 - 10:00    9    29
Antal kunder lavet mellem 10:00 - 11:00    10    150
Antal kunder lavet mellem 11:00 - 12:00    11    697
Antal kunder lavet mellem 12:00 - 13:00    12    817
Antal kunder lavet mellem 13:00 - 14:00    13    630
Antal kunder lavet mellem 14:00 - 15:00    14    717
Antal kunder lavet mellem 15:00 - 16:00    15    796
Antal kunder lavet mellem 16:00 - 17:00    16    732
Antal kunder lavet mellem 17:00 - 18:00    17    699
Antal kunder lavet mellem 18:00 - 19:00    18    550
Antal kunder lavet mellem 19:00 - 20:00    19    115
Antal kunder lavet mellem 20:00 - 21:00    20    21
Antal kunder lavet mellem 21:00 - 22:00    21    5
Avatar billede amiedk Nybegynder
13. oktober 2003 - 09:14 #21
Kæmpe tusinde tak.. det var lige det jeg skulle bruge... *Juble* .. og jeg lærte lige noget mere.. at man bare kan skrive SQL koden direkte i forspørgelsen .. Det gør jo mange ting meget nemmere for mig :)

Endnu engang tak og må du have en dejlig mandag :)

Malene
Avatar billede terry Ekspert
13. oktober 2003 - 17:59 #22
selv tak :o)
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