Avatar billede sth Novice
07. maj 2002 - 16:45 Der er 10 kommentarer og
1 løsning

Dato fejl i Access

Jeg er ved at lave et kalender program, som læser en dato fra en access db. det virker også helt fint ja faktisk dobbelst så fint som forventet da jeg få samme dato ud to gange!!! hvis datoen er 06-05-2002 så vises den både som den 6 maj 2002 og den 5 juni 2002

Så problemet er altså at access ikke ved om formattet er dd-mm-yyy eller mm-dd-yyyy
Feltet i tabelen er sat til "Dato og klokkeslæt" med format "Kort datoformat"

jeg har prøvet at vende rundt på dag og måned, i min sql forespørgsel, men det virker heller ikke !!

Hvad gør jeg ??
Avatar billede tblaster Nybegynder
07. maj 2002 - 16:50 #1
hvordan er scriptet i din asp kode ... altså den der står sat til at hente datoen ... det er den der er noget galt med!
Avatar billede sth Novice
07. maj 2002 - 16:54 #2
Set dag=Conn.Execute("SELECT room.room_number, log_tabel.dato FROM log_tabel INNER JOIN room ON log_tabel.ip_adresse = room.room_ip_adresse where dato=#"&dtmCurDate& "# " )
Avatar billede sth Novice
07. maj 2002 - 16:59 #3
jeg kan da lige sige at jeg også har prøvet denne med det giver det samme:
SQLstmt ="SELECT * from log_tabel WHERE  dato=#"&dtmCurDate& "# "
Avatar billede doc404 Novice
07. maj 2002 - 17:07 #4
prøv en gang at formattere dine søgedatoer som ISO format - altså yyyymmdd
Avatar billede sth Novice
07. maj 2002 - 17:09 #5
doc404  Åhhhh ikke forstået kunne du vise hvad du mener, eller mener du bare at jeg skal skrive datoen som 25062002 ?
Avatar billede torbenmelander Nybegynder
07. maj 2002 - 17:09 #6
Jeg kender problemmatikken, har løst det ved at lave et felt til henholdsvis dd, mm, yy (og til klokkeslet hvis nødvendigt) i databasen og gemme værdierne i dem ...

Du kan sagtens sortere osv. i en sql-sætning ved at bruge kommaer når du skriver feltnavnene ...
Avatar billede sth Novice
07. maj 2002 - 17:11 #7
det lyder til at være en for trals måde jeg mener ikke selv at jeg tidligere har haft problemer med daoto i access, men nu har jeg  !
Avatar billede doc404 Novice
07. maj 2002 - 17:18 #8
Der er vist utallige der har haft problemer med access og dato'er. Hvis du formattere dine dato'er som yyyymmdd når du f.eks. skal søge *burde* det virke, da der så ikke er noget at tage fejl af.

select * from log_table where dato=#20020605# (5/6)

du kan benytte følgende funktion

'------------------------------------------------------------------
' Concerts a VB date to ISO format
'------------------------------------------------------------------
function ISODate(dt)
  ISODate = "#" & Year(dt) & Right(100+Month(dt),2) & Right(100+Day(dt),2) & "#"
end function

SQLStmt = "SELECT * FROM log_table WHERE dato = " & ISODate(dtmCurDate)

ellers *tror* jeg nok du kan finde en artikel på www.activeserverpages.dk der forklare omkring datoer
Avatar billede sth Novice
07. maj 2002 - 17:29 #9
Det virker ikke, får
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC Microsoft Access-driver] Der er en syntaksfejl i datoen i forespørgselsudtrykket "dato=#20020601#".
Avatar billede doc404 Novice
07. maj 2002 - 20:06 #10
Hmm... Jeg tog koden som jeg selv bruger til MSSQL (uden # dog..) Men access er åbenbart mere sart end det...

kigger lige lidt omkring..
Avatar billede sth Novice
07. maj 2002 - 23:01 #11
jeg lukker, der er ikke noget jeg kan bruge jeg skifter til en mysql db, den ved da hvad der er dag og hvad der er måned, men tak for nu
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