Kenneth skrev:
> Jeg har gjort det enkelt ved å opprette et felt i min (Access)
> database som jeg har kalt "Utlopsdato". Dette har jeg satt til
> "Text" siden jeg benytter en kalender til å velge hvilken dato
> som skal være utløpsdato.
Hvilken kalender bruger du? Hvorfor skulle det være praktisk at
gemme i tekst på grund af kalenderen.
> SELECT * FROM Informasjon WHERE Utlopsdato >= '" & Date() & "'
Det går - som du har set - ikke godt. Når du skal sammenligne
datoer kan du bruge to forskellige metoder. Enten konvertere til et
passende tekstformat på begge sider og sammenligne, eller også
sammenligne datoværdier på begge sider. Begge dele kan volde lidt
problemer.
Hvis du vil sammenligne tekstfelter skal du bruge et datoformat der
lister de største enheder (år, måneder) først og de mindste
(minutter, sekunder) sidst - altså fx 2002.10.04:12.02.
Skilletegnene er ikke så vigtige - 200210041202 kan lige så godt
bruges som den første værdi jeg angav. Det er til gengæld vigtigt
at værdier mindre end 10 får et foranstillet 0.
Denne metode er forholdsvis let at håndtere når du skal gemme data,
mens du måske skal pusle lidt for at få uddata fra date()-
funktionen til at passe med dit format (Jeg mener at du kan bruge
en format-funktion uden om date - men jeg kan ikke huske det. Prøv
onlinehjælpen).
Hvis du i stedet sammenligner datoer består problemet i at få
indtastet dato opfattet korrekt. Dansk standard er dd-mm-yyyy, mens
den amerikanske standard omvendt er mm-dd-yyyy - og de to kan jo
nemt forbyttes. En ret idiotsikker måde at konstruere en dato på er
via funktionen DATESERIAL. Den tager tre heltal som argumenter -
hhv. år, måned og dag - og returnerer en datoværdi.
--
Jens Gyldenkærne Clausen
MF (medlem af FIDUSO -
www.fiduso.dk)
I ovenstående tekst benyttes nyt komma.