Avatar billede pingo Nybegynder
06. oktober 1999 - 11:35 Der 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!

Avatar billede meyer Nybegynder
06. oktober 1999 - 11:45 #1
Har kige haft samme problem, løste dem med:

dato = Month(Date) & "-" & Day(Date) & "-" & Year(Date)

Meyer
Avatar billede pingo Nybegynder
06. oktober 1999 - 11:46 #2
meyer: beklager - jeg kan ikke bruge den til noget - det kunne jeg jo også godt selv...du indsætter jo faktisk en engelsk dato der..

jeg vil have min danske dato hele vejen igennem - uden lappeløsninger!
Avatar billede skall Nybegynder
06. oktober 1999 - 13:10 #3
Jeg ved ikke om der findes en fornuftig løsning på problemet :-(

Det jeg selv gør: Internt abejder jeg altid med mm-dd-yy og datoer skal vises konverterer jeg dem til dd-mm-yy.

Og det kan du jo så kalde en lappeløsning ;-), men den virker..

Avatar billede pingo Nybegynder
06. oktober 1999 - 13:11 #4
Jamn'!

Der må da være en korrekt løsning på det!
Avatar billede skall Nybegynder
06. oktober 1999 - 13:18 #5
Ja, det gik også mig lidt på, men man må jo videre ;-)

Der kommer nok nogle kloge hoveder med en løsning på et eller andet tidspunkt??

Avatar billede pingo Nybegynder
06. oktober 1999 - 13:21 #6
Det kan man da håbe!
Avatar billede ulrik Nybegynder
06. oktober 1999 - 14:49 #7
du skal bruge Session.LCID = 1030

ikke

1036 og hvis du vil have amerikans dato format skal du bruge 1033
Avatar billede pingo Nybegynder
06. oktober 1999 - 14:51 #8
Ja - men det fungerer ikke - jeg har prøvet med den også!
Avatar billede hnteknik Novice
06. oktober 1999 - 17:42 #9
Prøv først med clng(now())

Henrik
Avatar billede hnteknik Novice
06. oktober 1999 - 17:51 #10
Du får lige resten for at se sammenhængen. Det var datoen du skulle have ind, ikke ?

strSQL = "INSERT INTO tblArbejdsskade"
        strSQL = strSQL & " (cprnr,skadetype,skadeaarsag,legemesdel,ulykkessted,ulykkesdato,"
        strSQL = strSQL & "bemaerkninger,fravaersdage,[anmelde-dato],[wu-dato])"
        strSQL = strSQL & " VALUES("
        strSQL = strSQL & " '" & DBFix(Trim(Request.Form("navn"))) & "', "
        strSQL = strSQL & " '" & DBFix(Trim(Request.Form("art"))) & "', "
        strSQL = strSQL & " '" & DBFix(Trim(Request.Form("aarsag"))) & "', "
        strSQL = strSQL & " '" & DBFix(Trim(Request.Form("legeme"))) & "', "
        strSQL = strSQL & " '" & DBFix(Trim(Request.Form("sted"))) & "', "
        strSQL = strSQL & " " & clng(cdate(Request.Form("ulykkesdato"))) & ", "
        strSQL = strSQL & " '" & DBFix(Trim(Request.Form("Kommentar"))) & "', "
        strSQL = strSQL & " " & Trim(Request.Form("fravaersdage")) & ", "
        strSQL = strSQL & " " & clng(now()) & ", "
        strSQL = strSQL & " " & clng(cdate(request.Form("wakeup"))) &  ");"
Avatar billede mit Nybegynder
06. oktober 1999 - 17:52 #11
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>

Avatar billede pingo Nybegynder
06. oktober 1999 - 18:03 #12
hnteknik: den der dur ikke - det er ikke et datofelt!
Avatar billede mit Nybegynder
06. oktober 1999 - 18:05 #13
penge = pingo :)

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...
Avatar billede pingo Nybegynder
06. oktober 1999 - 18:05 #14
Sjovt nok så giver Session.LCID = 1030 en asp fejl på min server?
Avatar billede mit Nybegynder
06. oktober 1999 - 18:07 #15
øhh nå ??..kan du køre det asp-doc jeg sendte før ?..eller er det der du får fejlen ?...hvad siger den så til dig ?
Avatar billede moses Praktikant
07. oktober 1999 - 07:59 #16
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.
Avatar billede pingo Nybegynder
07. oktober 1999 - 13:38 #17
moses: det fungerer ikke - den bytter stadig om på dem når jeg indsætter noget via. sql..
Avatar billede jps2mt Nybegynder
07. oktober 1999 - 13:40 #18
Pingo...Det her kan bruges...Jeg havde selv samme problem, men nu har jeg løst det med denne her funktion...

Function LongYear()
LongYear = Day(Date()) & "-" & Month(Date()) & "-" & Year(Date())
End Function

/JPS2MT
Avatar billede pingo Nybegynder
07. oktober 1999 - 13:40 #19
mit: jeg kan ikke køre det dokument:

Microsoft VBScript runtime error '800a01b6'

Object doesn't support this property or method: 'Session.LCID'

/temp.asp, line 13
Avatar billede pingo Nybegynder
07. oktober 1999 - 13:41 #20
jps2mt: jamn' så er den jo defineret som en long - og ikke længere som en dato!
Avatar billede mit Nybegynder
07. oktober 1999 - 16:32 #21
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...
Avatar billede pingo Nybegynder
07. oktober 1999 - 17:45 #22
Hmm..

Det er en standard installeret Windows NT Server 4 med Service Pack 5 og IIS 4.0...
Avatar billede jps2mt Nybegynder
07. oktober 1999 - 18:57 #23
pingo >> Har du prøvet det??? For idag ville den returnere: 7-10-1999

/JPS2MT
Avatar billede pingo Nybegynder
07. oktober 1999 - 19:22 #24
jps2mt: ja - men ikke i datoformat - og problemet er at når jeg putter et datoformat i databasen bliver den konverteret om..
Avatar billede mit Nybegynder
07. oktober 1999 - 19:47 #25
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...
Avatar billede pingo Nybegynder
09. oktober 1999 - 02:06 #26
Er der et svar på den er den selvfølgedig stadig aktuel
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