Avatar billede lars_hoeberg Praktikant
22. maj 2005 - 15:28 Der er 36 kommentarer og
3 løsninger

Dato søgning i db

Hejsa.

Jeg har i en db en tabel med noget data og hvem der har haft hvad i hvilke peioder. Jeg har en "Startdato" og en "Slutdato". Hertil skal jeg have bygget en forespørgsel, som skal komme frem og spørge efter hvilken periode man ønsker at se. Lad os sige jeg har følgende data:

NAVN          STARTDATO      SLUTDATO
Keld Bonde    01-01-2005    15-01-2005
Bo Stolpe    05-01-2005    18-01-2005

Når så forspørgslen spørger, og jeg indtaster f.eks 20-12-2004, som startdato og 04-01-2005 som "Slutdato", skal KUN Keld Bonde returneres, men hvis "slutdato" bliver sat til 06-01-2005 skal Bo Stolpe også vises sammen med. Alle poster med perioder mellem indtastede "Startdato" og "Slutdato" sakl vises.

Og kan man i Access, bede den om at sætte dags dato til "Startdato", mens formularen vises og derefter sættes tilbage til dags dato igen?
Avatar billede mugs Novice
22. maj 2005 - 15:32 #1
Har du prøvet med "Between" som kriterie i din forespørgsel?
Avatar billede lars_hoeberg Praktikant
22. maj 2005 - 15:37 #2
Ja, men hvordan skal det skrives? Er kørt lidt kold på den
Avatar billede mugs Novice
22. maj 2005 - 15:37 #3
Hvis de 2 datoer er i samme felt kan det se således ud:

Between [Indtast start] And [indtast slut]

Hvis data ligger i 2 felter kan du bruge >=[indtast start] og i det andet felt <=[indtast slut]
Avatar billede mugs Novice
22. maj 2005 - 15:38 #4
det er kriterier i din forespørgsel. Hvis du lægger din e-mail kan jeg sende dig et eksempel.
Avatar billede lars_hoeberg Praktikant
22. maj 2005 - 15:40 #5
lars@hoeberg.dk
Avatar billede mugs Novice
22. maj 2005 - 15:46 #6
Sendt.
Avatar billede lars_hoeberg Praktikant
22. maj 2005 - 15:53 #7
Jeg har lavet en periode der hedder 01-01-2000 - 31-12-2099, i 2 felter, "Startdato" og "slutdato". Derudover har jeg en der hedder 02-06-2005 - 10-06-2005, i samme felter. Jeg har sat "startdato" med kriterie "<=[indtast Start]" og "slutdato" med kriterie ">=[indtast Slut]". Skriver jeg så "start" til 01-01-2005 og slut til 02-01-2005 vises BEGGE poster. Også den der løber fra 02-06-2005 - 10-06-2005.
Avatar billede mugs Novice
22. maj 2005 - 15:59 #8
"<=[indtast Start]" og "slutdato" med kriterie ">=[indtast Slut]

Betyder mindre end start og større end slut. skal det ikke være:

">=[indtast Start]" og "slutdato" med kriterie "<=[indtast Slut]
Avatar billede lars_hoeberg Praktikant
22. maj 2005 - 16:00 #9
Så returneres KUN 02-06-2005 - 10-06-2005
Avatar billede mugs Novice
22. maj 2005 - 16:02 #10
Måske skal vi over i dette spørgsmål:

http://www.eksperten.dk/spm/524137
Avatar billede lars_hoeberg Praktikant
22. maj 2005 - 16:03 #11
Skal de skrives i SAMME kriterierække eller i 2?
Avatar billede lars_hoeberg Praktikant
22. maj 2005 - 16:05 #12
Det er meget månedsbaseret
Avatar billede lars_hoeberg Praktikant
22. maj 2005 - 16:06 #13
Altså i det henviste spørgsmål
Avatar billede mugs Novice
22. maj 2005 - 16:07 #14
Hvis dine datoer (start og slut) er i samme felt, skal du bruge Between i samme felt. Hvis det er 2 felter skal du bruge >=< og <= i 2 felter.
Avatar billede mugs Novice
22. maj 2005 - 16:09 #15
Der er i henvisningen tale om 2 felter:

"Bl.a. er der 2 felter AFREJSE og HJEMKOMST, der som navnene siger fortæller tjenesterejsens periode. Perioden kan strække sig fra 1 dag til flere måneder. Et eksempel:"

AFREJSE: 2004-06-01
HJEMKOMST: 2004-06-30

AFREJSE: 2004-05-01
HJEMKOMST: 2004-10-31
Avatar billede lars_hoeberg Praktikant
22. maj 2005 - 16:09 #16
De er i to keskellige felter
Avatar billede lars_hoeberg Praktikant
22. maj 2005 - 16:13 #17
Er ikke slev den store haj til at lægge koder osv ind i db'en. Hvis jeg sender den til dig, vil du så evt kigge lidt på det og sætte det ind i?
Avatar billede mugs Novice
22. maj 2005 - 16:17 #18
Ja - Men jeg er lidt i tvivl om, hvad de egentlig vil. Skal både start og slut være indenfor kriterierne?
Avatar billede lars_hoeberg Praktikant
22. maj 2005 - 16:24 #19
Ja, lige meget hvilke start- og slutdatoer man indtaster, SKAL ALLE poster der løber inden for det angivne tidsrum vises. Altså skal f.eks Bo Stolpe's periode vises uanset og man indtaster

STARTDATO        SLUTDATO
01-01-2005      05-01-2005              eller
05-01-2005      25-01-2005              eller
10-01-2005      15-01-2005

Altså bare den periode, man indtaster som kriterier, skal bare indgå i den periode, som personen allerede har.
Avatar billede lars_hoeberg Praktikant
22. maj 2005 - 16:32 #20
Har du forstået hvad jeg mener?
Avatar billede mugs Novice
22. maj 2005 - 16:38 #21
Tror jeg
Avatar billede lars_hoeberg Praktikant
22. maj 2005 - 16:39 #22
Skal jeg prøve at sende? Mail-adresse?
Avatar billede mugs Novice
22. maj 2005 - 16:41 #23
mugs@mail.dk
Avatar billede lars_hoeberg Praktikant
22. maj 2005 - 16:44 #24
Sendt
Avatar billede lars_hoeberg Praktikant
22. maj 2005 - 18:07 #25
Har du fået kigget lidt på sagerne?
Avatar billede terry Ekspert
22. maj 2005 - 18:24 #26
PARAMETERS [Indtast Start dato] DateTime, [Indtast Slut Dato] DateTime;
SELECT tblStartSlutDato_619666.*, [Indtast Start Dato] AS Start, tblStartSlutDato_619666.StartDato, tblStartSlutDato_619666.SlutDato
FROM tblStartSlutDato_619666
WHERE (((tblStartSlutDato_619666.StartDato) Between [Indtast Start Dato] And [Indtast Slut Dato])) OR (((tblStartSlutDato_619666.SlutDato) Between [Indtast Start Dato] And [Indtast Slut Dato]));
Avatar billede terry Ekspert
22. maj 2005 - 18:24 #27
.
Avatar billede mugs Novice
22. maj 2005 - 20:26 #28
Lars > Undskyld jeg blev kaldt på arbejde. Jeg skal af sted igen om lidt, og har meget lidt tid. Har du afprøvet terry's løsning?
Avatar billede lars_hoeberg Praktikant
22. maj 2005 - 21:11 #29
Hejsa Terry. Det virker ikke helt. Hvis der f.eks er en periode der hedder 1-1-2005 - 31-01-2005, og jeg forespørger på 10-01-2005 - 15-01-2005, returneres data ikke.
Avatar billede lars_hoeberg Praktikant
22. maj 2005 - 21:15 #30
Hej igen. Fik selv sat det sidste på, så den kom til at virke. Så er den del løst. Mange tak for hjælpen. Kan du hjælpe med anden del at spørgsmålet også?
Avatar billede terry Ekspert
22. maj 2005 - 21:33 #31
Hi Lars
I see you have it working now. You could try this too

PARAMETERS [Indtast Start dato] DateTime, [Indtast Slut Dato] DateTime;
SELECT tblStartSlutDato_619666.*
FROM tblStartSlutDato_619666
WHERE ((([Indtast Start Dato]) Between [StartDato] And [SlutDato])) OR ((([Indtast Slut Dato]) Between [StartDato] And [SlutDato]));


Dont know if I can help with "anden del .." unless I know what it is :o)

Fire away and lets see, but its getting late and I'm off for a short walk with the dogs. Will look as soon as I get back

mvh
Terry
Avatar billede lars_hoeberg Praktikant
22. maj 2005 - 21:51 #32
Er glad for du kan hjælpe. Hele databasen kører simpelthen via datoer. Jeg har ganske simpelt en makro, som går ind og laver udregninger udfra hvad dags dato er. Jeg har en masse varer, som kan udlejes. Mens udlejnngsperioden står på, skal det angivne antal naturligvis forsvinde fra lageret, og når perioden er udløbet skal de tilbage på lageret. Jeg skal så også kunne lave et opslag på en periode (Som det første spørgsmål omhandlede), hvor den så skal vise hvad der er på lager i den periode
Avatar billede lars_hoeberg Praktikant
22. maj 2005 - 21:54 #33
Kan evt prøve at sende dig min db, hvis det er nemmere for dig
Avatar billede terry Ekspert
22. maj 2005 - 22:00 #34
Hi Lars
you can send me you database and I will take a look when I have time if thats OK with you?

You will need to explain EXACTLY what it is you want me to look at also.

eksperten@NOSPAMsanthell.dk
remove NOSPAM
Avatar billede terry Ekspert
22. maj 2005 - 22:05 #35
This SQL is more correct I think
PARAMETERS [Indtast Start dato] DateTime, [Indtast Slut Dato] DateTime;
SELECT tblStartSlutDato_619666.*
FROM tblStartSlutDato_619666
WHERE ((([Indtast Start Dato]) Between [StartDato] And [SlutDato])) OR ((([Indtast Slut Dato]) Between [StartDato] And [SlutDato])) OR (((tblStartSlutDato_619666.StartDato) Between [Indtast Start Dato] And [Indtast Slut Dato])) OR (((tblStartSlutDato_619666.SlutDato) Between [Indtast Start Dato] And [Indtast Slut Dato]));
Avatar billede lars_hoeberg Praktikant
22. maj 2005 - 22:23 #36
Sendt til Terry
Avatar billede terry Ekspert
27. maj 2005 - 18:55 #37
hi Lars, I think you have forgotten something here. Soory I couldnt help with your other problem
Avatar billede lars_hoeberg Praktikant
10. juni 2005 - 23:05 #38
Jeg fik ikke løst mit problem, men giver 30 points til Mugs og og 70 points til Terry som tak for forsøget
Avatar billede terry Ekspert
11. juni 2005 - 18:50 #39
Lars 22/05-2005 21:15:52 you say that it is now working as you wanted. And you dont make any further comments after this stating that you still need help with the original question!!
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