Avatar billede opal Nybegynder
04. december 2001 - 11:44 Der er 6 kommentarer

Udvælgelse af tider inden for en bestemt periode

Jeg har lavet en database, hvori der bl.a. indgår en tabel som hedder resourcer. I denne tabel er der bl.a. følgende felter: sagsnr, initial, dato1,dato2,dato3, dato4,tid1,tid2, tid3 og tid4.
Eksempel: en post med sagsnr 100 kan have registreret en dato 06.09.01(dato1) og 5 timer(tid1) og 1.10.01(dato2) og 3 timer(tid2) og 12.10.01(dato3) og 3 timer(tid3) og 6.11.01(dato4) og 4 timer(tid4) samt
en post med sagsnr 101 hvor der er registreret en dato 4.11.01(dato1) og 6 timer(tid1) og ikke noget i de andre dato og tid felter.
Hvis jeg så i en forespørgsel kun vil have timer for 11 månede kan jeg ikke få dette til at virke, idet jeg sætter et kriterie i dato1 between#1.11.01# and #30.11.01#, dette kriterie medtager ikke posten sagsnr 100. Hvordan gør jeg? Pt er der 225 poster med mange forskellige datoer i datofelterne dato1, dato2, dato3 og dato4 og de tilhørende tidfelter (alle tidfelter er ikke nødvendigvis udfyldt, men har som standard værdien 0, datofelter har som standardværdi systemdatoen).
På forhånd mange tak for hjælpen, hvis det kan lade sig gøre
Venlig hilsen Opal
Avatar billede b_hansen Novice
04. december 2001 - 11:47 #1
I dit eksempel spørger du jo på november måned, mens sag nr 100 er september, jvf dato1.

Kan problemet skyldes, at du søger på det forkerte datofelt, dato 1? Så vidt jeg kan se, skal det være dato4
Avatar billede b_hansen Novice
04. december 2001 - 12:36 #2
Hvis problemet er, at du skal søge i alle 4 datofelter, vil du naturligvis få et problem, idet forespørgslen så kun vil returnere de sagsnr, hvor den angivne tidsperiode findes i alle 4 datofelter.

Selv ville jeg nok lave en forespørgsel, der samler de 4 datofelter i ét, således at du får en database med følgende felter: sagsnr, dato, tid
Herefter kan du lave din forespørgsel, som burde virke på denne nye database

Men mon ikke access-eksperterne kan komme op med en bedre løsning?
Avatar billede terry Ekspert
04. december 2001 - 14:34 #3
You have to alter your query so that you have an OR criteria for each of the dato fields you want to include in your SQL Select
Avatar billede terry Ekspert
04. december 2001 - 14:36 #4
WHERE dato1 between#1.11.01# and #30.11.01# OR dato2 between#1.11.01# and #30.11.01# .....
Avatar billede terry Ekspert
04. december 2001 - 14:42 #5
If the date field also contains the time then you may also find that not all records which you expect to see in the result are selected. This is because a between#1.11.01# and #30.11.01# is actually the same as
between#1.11.01 00:00:00# and #30.11.01 00:00:00# so records where the time part is > 00:00:00 dont get selected!!

Avatar billede terry Ekspert
08. december 2001 - 14:30 #6
opal>Hows things going?
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