06. oktober 1999 - 11:35Der er
25 kommentarer og 1 løsning
Pisse dato format! 06-10-99 bliver til 10-06-99.
Hejsa..
Nu er jeg altså ligeglad - nu fyrer jeg point i røven af dette spørgsmål indtil det bliver løst!
Jeg har:
Dansk Access 97 Dansk Workstation med Dansk sat som regional setting - og sat som standard. Engelsk Server med Dansk sat som regional setting - og sat som standard.
Jeg laver et dato og klokkesletsfelt i Access - problemet kommer hvad end jeg laver det til et Standarddatoformat, Kort datoformat, eller selv skriver "dd-mm-åå" i Format - og også selvom jeg slet ikke angiver noget i format.
Jeg fyrer denne SQL sætning af:
"INSERT INTO Ordrer (Dato) VALUES (#" & Now() & "#)"
Now() er på min server (før det bliver sat ind) i datoformatet 06-10-99 - og efter det er sat ind - altså når denne SQL sætning er kørt 10-06-99!
Hvordan undgår jeg at denne ombygning sker - jeg har et dansk datoformat - som pludselig bliver betragtet som et engelsk!
Session.LCID = 1036 virker IKKE!
Mvh
Brian Binnerup
PS. Dette spørgsmål bliver også oprettet i Access gruppen - første korrekte svar kan høste alle points!
Dette her virker for mig..har lige lavet en lille test..derfor står der pinge i den :) Datofeltet i DB'en er sat til Standarddatoformat
<html> <head> </head> <body> <% Response.Write Now()&"<BR><BR>" strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("pingo.mdb") strSQL ="INSERT INTO tabel (Dato) VALUES (#" & Now() & "#)" strSQL2 = "SELECT * FROM tabel" Set con = Server.CreateObject("ADODB.Connection") con.Open strDSN con.Execute(strSQL) Session.LCID = 1030 Set rs = con.Execute(strSQL2) If Not (rs.BOF Or rs.EOF) Then Do while not (rs.EOF) Response.Write rs("dato") & "<br>" rs.MoveNext loop End If con.Close Set con = Nothing %> </body> </html>
vent med at sætte LCID til du skal læse fra DB'en. Det var hvad jeg fik ud af det; hvis man sætter den inden man skriver vender serveren datoen inden den gemmer i DB'en...
Et felt i en tabel i Access, der er defineret, som et datofelt, indeholder en variant af typen Date. Denne dato opbevares altid i samme format i feltet, men kan vises på forskellig måde - også ved opslag direkte i tabellen. Hvis du i definitionene af feltet i tabellen angiver formatet: "dd-mm-yy" eller den år2000 sikre: "dd-mm-yyyy" , så angives det korrekt. Det gælder også, hvis du herefter definerer et felt i en form, der har dette felt, som source.
pingo >> med andre ord: Dit session-objekt indeholder ikke egenskaben LCID ?? - ehh, er det ikke en fejl ?...har jeg aldrig hørt om... Men jeg kan fortælle dig, at ovenstående har jeg kørende både på IIS og på PWS - og det virker begge steder...
pingo >> har kun prøvet det med Service Pack 4 ...hvis du kigger efter i DB-filen; er dato så vendt, eller er det først når den bliver skrevet ud ?...jeg har fundet frem til, at hvis den er sat op til dansk når man skriver i DB'en, så vender den dato inden den skriver i DB'en. Men den vender ikke datoen når man læser og sender til browseren....og så er det lige modsat, hvis den er sat til US...sådan fungerer det i hvert tilfælde her, det er derfor, at jeg først sætter LCID til 1030 lige inden jeg læser... Ok, det blevet noget kriglet skrevet...
Er der et svar på den er den selvfølgedig stadig aktuel
Synes godt om
Ny brugerNybegynder
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.