Avatar billede para7 Nybegynder
16. september 2005 - 10:32 Der er 13 kommentarer og
1 løsning

Sortering på ex datofelt i Access db

Jeg har en Access db liggende på en USA server. Og når jeg gemmer noget gemmes skidtet bagvendt i non-europæisk datoformat.
Derfor blev jeg nødt til at konvertere alle datofelter til tekstfelter, for at datorerne vistes rigtigt, når brugerer indskriv noget. Men jeg savner  nu at kunne sortere og vise efter sidste indskrevne nyhed fx.

Nogen ideeer til at sortere på et db tekstfelt med datoformat?
Eller nogen ideer til at indskrive europæisk datoformat i databasen ?
Avatar billede cpufan Juniormester
16. september 2005 - 10:44 #1
dato = year(date()) & "-" month(date()) & "-" day(date())

giver dig en tekststreng der ser sådan ud 2005-9-12

som det er nemt at sortere på og søge i.
Avatar billede cpufan Juniormester
16. september 2005 - 10:45 #2
det er naturligvis inden den ligges i db'en at den skal dannes på den måde.
Avatar billede para7 Nybegynder
16. september 2005 - 12:32 #3
Tak cpufan
Jeg skal "lige" prøve det. Det er vel meningen at det skal tvinge databasen til at modtage i det dataformat man ønsker. Her er uddrag af min SQL streng:
strSQL = strSQL & "'" & day(nowCorr) & "-" & month(nowCorr) & "-" & year(nowCorr) & " " & hour(nowCorr) & ":" & minute(nowCorr) & ":" & second(nowCorr) & "'" & ", "
Jeg har konverteret felterne til datoformat igen og vil så prøve det af.
Avatar billede cpufan Juniormester
16. september 2005 - 12:38 #4
nej kolonnen skal være i tekstformat, ellers laver den ballade igen.
Avatar billede para7 Nybegynder
16. september 2005 - 12:42 #5
Tak cpufan. Det ser skam fint ud indtil videre. Men jeg håber så ikke der bliver nogen problemer. Jeg så nemlig kun fejlen, mærkeligt nok, under mere eller mindre tilfældigheder førhen.
Avatar billede busschou Praktikant
16. september 2005 - 12:42 #6
Du skal da ikke gemme dem i tekst format :o/ ? For så kan du jo ikke sortere på dem, der er stor, meget stor, forskel på at sortere datoer og sortere tekst og sortere tal!
Du skal blot sørge for at uanset om du laver en Insert, Update eller Select så skal du benytte yyyy-mm-dd format
Når du så hiver dem ud i asp så vil asp selvfølgelig vise datoen i det dato format som asp er indstillet til
Hvis du har sat session.lcid = 1030 mener jeg, så søger den for at vise det på dansk som dd-mm-yyyy
Avatar billede busschou Praktikant
16. september 2005 - 12:45 #7
para7 >> fejlen forekommer også selvom du har en dansk access.. Det skyldes at access forsøger at gemme i formatet mm-dd-yyyy, hvis du har datoen 08-09-2005 så gemmer den det som 09-08-2005 fordi den kan bytte om på måned og dag, men hvis du har datoen 13-09-2005 så kan den ikke gøre det da der ikke er en 13´ende måned
Det er derfor det ikke ser ud som om den gør det konsekvent :o)
Ved at bruge yyyy-mm-dd konsekvent så er man sikret
Men jeg er ikke enig i at det er nemt at søge på tekst strengen "2005-09-12" frem for datoen 2005-09-12
Avatar billede para7 Nybegynder
16. september 2005 - 12:47 #8
Hovsa.
"lave kolonnen i tekstformat" Jeg har datoformat. Og det må da tvinge databasen i USA til at modtage skidtet som jeg ønsker. Foreløbigt virker det.
Avatar billede busschou Praktikant
16. september 2005 - 12:48 #9
fx så hvis du har "1","2","13" som tekst datoer og vil sortere dem så bliver de sorteret som først "1" så "13" og så "2" og den anden kommer jo ikke efter den trettende :o)
Avatar billede para7 Nybegynder
16. september 2005 - 12:51 #10
?-| Jammen mm-dd-yyyy får den vel aldrig lov til at gemme i mere. Så er den mon ikke klaret nu?
Avatar billede busschou Praktikant
16. september 2005 - 12:54 #11
mine kommentarer var til cpufans kommentar 16/09-2005 12:38:21
Det vil være ret tåbeligt at gemme en dato i tekstformat, det gør den nærmest umulig at søge i!
Men som jeg kan forstå af din kommentar 16/09-2005 12:47:52 så har du alligevel datoformat og så virker det fint nok
Avatar billede para7 Nybegynder
16. september 2005 - 13:00 #12
Yes. Tak til alle og god weekend ;)
Avatar billede cpufan Juniormester
16. september 2005 - 13:27 #13
busschou - du har ret - 16/09-2005 12:48:18
Avatar billede busschou Praktikant
16. september 2005 - 13:30 #14
jepper ;o)
Damn har siddet og nørklet med det mange gange førhen, og min erfaring siger mig at det er spild af tid ikke at benytte dato formatet når nu det er opfundet :o)
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
Kurser inden for grundlæggende programmering

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