/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
Dato - Jørn Andersen
Fra : JonZ


Dato : 21-12-07 10:34

Hej Jørn

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.

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 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. 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.

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?

Jeg poster ikke noget kode, da det jo ikke er koden den er galt
med, men en ren fejl 40 der skal rettes.

Nu skriver jeg til Jørn, men alle er selvfølgelig mere end
velkommen til at svare.

Hilsen JonZ

Go jul.

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

 
 
Jørn Andersen (21-12-2007)
Kommentar
Fra : Jørn Andersen


Dato : 21-12-07 14:26

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

Søg
Reklame
Statistik
Spørgsmål : 177458
Tips : 31962
Nyheder : 719565
Indlæg : 6408162
Brugere : 218881

Månedens bedste
Årets bedste
Sidste års bedste