Avatar billede saxe_bratlie Nybegynder
18. marts 2005 - 01:21 Der er 8 kommentarer og
1 løsning

Nærmest dagens dato

Jeg har et datofelt i en spørring som viser en rekke datoer. Det jeg ønsker er å avgrense disse datoene kun til den som ligger dagens dato nærmest.

Grunnen er at jeg skal vise hvilken den første datoen som ligger i listen som kommer nærmest etter dagens dato.
Avatar billede saxe_bratlie Nybegynder
18. marts 2005 - 01:23 #1
Altså: [dato field]next after Date()
Avatar billede jensen363 Forsker
18. marts 2005 - 08:33 #2
SELECT Tabel.Dato, Tabel.[Data 1]
FROM Tabel
WHERE (((Tabel.Dato)=Date()+1));

Dvs. dit krirerie i spørring skal være Date() +1
Avatar billede saxe_bratlie Nybegynder
18. marts 2005 - 11:22 #3
hmmm. Da vise han den datoen som ligger etter dagens rent fysisk. Hva om det ikke er en dato rett etter Date() ?

01.01.01
03.01.01

Hva om man har disse to datoene ( Og dagens dato er 01.01.01 ), hvordan da få frem 03.01.01 ?

Date()+1 er jo igrunn det samme som Date() men pluss kun en dag. Den er ikke fleksibel med tanke på at den må ta "neste" dato uansett dato.

/ Bratlie
Avatar billede jensen363 Forsker
18. marts 2005 - 11:25 #4
SELECT TOP 1 Tabel.Dato, Tabel.[Data 1]
FROM Tabel
WHERE (((Tabel.Dato)>Now()));
Avatar billede jensen363 Forsker
18. marts 2005 - 11:27 #5
Altså kriterie spørring skal være > Now() og Topliste 1
Avatar billede saxe_bratlie Nybegynder
18. marts 2005 - 13:09 #6
1. Etter at man har filtrert ut de sentrene som IKKE har noen booking på angitt dato i [forms].[aktive bookinger]![fiktiv], får man en liste som viser de bookinger som står igjen.

2. I de bookinger som står igjen vil man få frem sentre og "fra" / "til" datoer som disse ligger inne på i en periode som ikke liger innen [forms].[aktive bookinger]![fiktiv].

Feks ( Senter A og B har altså ingen booking på den gitte datoen):

Senter A  01.01.01    05.01.01
Senter B  03.01.01    09.01.01
Senter A  06.01.01.  10.01.01

Spørringen skal vise:

Senter A  "Nærmeste Fra dato etter [fiktiv]"
Senter B  "Nærmeste Fra dato etter [fiktiv]"

Overordnet poeng er at jeg vil ha frem ledige sentre og når dette sentret er booket neste gang.
Avatar billede saxe_bratlie Nybegynder
18. marts 2005 - 13:13 #7
hmmmm... ingen lett sak dette. Igrunn ganske enkelt, men vanskelig å forklare enkelt.
Avatar billede kjulius Novice
21. marts 2005 - 20:08 #8
Mon ikke det kan gøres sådan her:

SELECT Senter, MIN(Datoer.Dato)) AS NærmesteDato
FROM Booked, Datoer
WHERE (Datoer.Dato NOT BETWEEN Booked.Fradato AND Booked.Tildato) AND (Datoer.Dato > fiktivdato)
GROUP BY Senter

Tabellen Booked indeholder dine bookinger med opbygning som ovenfor angivet.
Tabellen Datoer indeholder alle datoer der kan forekomme. Se evt. http://www.eksperten.dk/spm/596380
hvor mit link også angiver en hurtig metode til at opbygge en sådan tabel.

Mit forslag er teoretisk, da jeg ikke har afprøvet det...
Avatar billede kjulius Novice
21. marts 2005 - 20:21 #9
Du kan evt. fjerne NOT hvis du ønsker at få den første dato der er booked. Som den er nu skal den vise den første dato efter den fiktive afgrænsningsdato, som IKKE er booked.
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