Avatar billede jmc Nybegynder
06. juli 2005 - 14:52 Der er 12 kommentarer og
1 løsning

opret / update hvad går galt?

Hvordan kan det være at opret giver den forkerte dato i vores database (access) men hvis hvis man benytter en opdate af en eksistende record så bliver den dansk?

Vi benytter naturligvis LCID begge steder og databasen er sat til at være dansk.
Avatar billede fennec Nybegynder
06. juli 2005 - 15:03 #1
Hvordan ser jeres kode ud til inseet og update??
Avatar billede busschou Praktikant
06. juli 2005 - 15:24 #2
Mig bekendt er der det sædvanlige problem med datoer, at man tror de bliver dd-mm-yyyy men at de bliver tolket som mm-dd-yyyy
Det problem kan undgåes ved konsekvent inserte og update i formatet yyyy-mm-dd
Det er i al fald min erfaring :o)
Avatar billede fennec Nybegynder
06. juli 2005 - 15:32 #3
busschou >>
Det mærkelige er bare at det virker ved update og ikke ved insert (ifølge jmc), men det kan jo også være et tilfælde. Lige som dig tror jeg nu også det er datofejlen :o)
Avatar billede busschou Praktikant
06. juli 2005 - 15:36 #4
Det kommer jo an på hvilken dato han bruger, hvis han bruger den samme i begge tilfælde så ja, så er det mærkeligt
Men hvis han bruger en forskellig så er det måske ikke så mærkeligt
Min erfaring siger at access/sql konsekvent forsøger sig med formatet mm-dd-yyyy og hvis datoen ikke findes så laver den så som dd-mm-yyyy
Dvs i visse tilfælde får man det man regner med alligevel

I øvrigt er det så smadder belastende synes jeg og ulogisk at have et mm-dd-yyyy format - men sådan er livet jo :o/
Avatar billede netro Nybegynder
06. juli 2005 - 18:10 #5
Tilføjer du også datoen via SQL i din insert, eller har du sat en default-dato i tabellen?
Avatar billede jmc Nybegynder
07. juli 2005 - 11:02 #6
Vores INSERT ser sådan ud:
myConn.Execute("INSERT INTO Table (DateAdded) VALUES (#"&Now()&"#)")

Vores UPDATE ser sådan ud:
myId = request("id")
myDateAdded = request("dateadded")
myConn.Execute("UPDATE Table Set DateAdded=#"&myDateAdded&"# WHERE Id="&myId)

Der er ingen default dato i tabellen, men det kan gå hen og blive løsningen
Avatar billede busschou Praktikant
07. juli 2005 - 11:04 #7
Jeg vil stadig mene det sikkert er datoformatet som gør det, og vil forslå at man konsekvent benytter yyyy-mm-dd
Avatar billede busschou Praktikant
07. juli 2005 - 11:05 #8
dvs
myConn.Execute("INSERT INTO Table (DateAdded) VALUES (#"&Year(Now)&"-"&Month(Now)&"-"&Day(Now)&"#)")
og tilsvarende i updaten!
Avatar billede jmc Nybegynder
07. juli 2005 - 11:27 #9
takker points?
Avatar billede busschou Praktikant
07. juli 2005 - 11:38 #10
yepps :o)
Avatar billede netro Nybegynder
07. juli 2005 - 14:57 #11
Der er en lille funktion her, du kan bruge til at konvertere datoerne.

http://www.opfinderen.dk/sites/6/
Avatar billede busschou Praktikant
27. juli 2005 - 16:02 #12
jmc >> lukketid, du har jo fået svar, og så tag evt også gerne og luk alle dine andre åbne spørgsmål, for ellers får man jo ikke ligefrem indtryk af at du sætter pris på ens hjælp ! :o/
Avatar billede jmc Nybegynder
20. oktober 2005 - 09:08 #13
takker, men det er da ikke mange som ikke er lukket!
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