On 21 Dec 2007 09:34:28 GMT, JonZ <jonz@ofir.dk> wrote:
>Som opfølgning på et tidligere indlæg, hvor jeg havde lidt bøvl
>med noget dato søgning i en database. Har jeg fået endnu et
>problem.
Hvilken database? I det følgende går jeg ud fra, at det er en MS Access.
>Når jeg søger på en dato, f.eks. dd/mm/aaaa 03/04/2007 så får jeg
>vist datoen dd/mm/aaaa 04/03/2007
Hvordan søger du? Post din SQL.
>Hvis jeg søger på f.eks.
>dd/mm/aaaa 20/03/2007 så får jeg den rigtige dato, men jeg tænker
>det måske er fordi den er klog nok til at der ikke er en mdr. der
>hedder 20.
Rigtigt.
>Jeg har sat den til dansk dato format. Og kigget på et
>link du har sendt tidligere. <url:
>
http://www.asp-faq.dk/article/?id=98> men jeg kan ikke lige få
>det til at virke.
Hvis du vil søge på dd/mm/aaaa 03/04/2007, så:
... WHERE [datofelt] = DateSerial(2007, 4, 3)
Man skal dog være opmærksom på, at det kun vil virke, hvis der ikke er
indsat tids-værdier i dato-feltet.
Hvis der også er tids-værdier, kan man komme ud over det med DateValue,
som fjerner (ignorerer) tids-værdierne:
... WHERE DateValue([datofelt]) = DateSerial(2007, 4, 3)
>Mit spørgsmål er nu. Kan du på en let måde fortælle mig hvad det
>er jeg gør forkert, og evt. hvad jeg kan gøre for at rette det?
Det er svært at vide, hvad du gør forkert, når du ikke fortæller, hvad
du gør
>Jeg poster ikke noget kode, da det jo ikke er koden den er galt
>med, men en ren fejl 40 der skal rettes.
Jo, der må være et eller andet galt med din kode - formentlig din SQL.
-----
Den vigtigste humle i at arbejde med dato-tid mellem en database og et
ASP-script er at undgå at at forholde sig til dato-*formater*, men kun
til dato-*værdier*.
På den måde undgår man de fejl, der kan opstå som følge af at der kan
være forskelle mellem fx dansk og amerikansk dato-format.
Derfor skal man undgå at bruge den ofte benyttede #-metode ved angivelse
af datoer i SQL ('#3-4-2007#'), men i stedet bruge dato-tid-værdier og
MS Access' egne dato-funktioner (fx DateSerial, TimeSerial, DateDiff,
DateAdd osv.), som er de samme som dem der bruges i VBScript-ASP.
Good luck!
--
Jørn Andersen,
Brønshøj