Datoformater: Fra tekstboks til SQL og til Access (DK)
Jeg ønsker hjælp i forlængelse af spørgsmål http://eksperten.dk/spm/536829.Jeg benytter nedenstående kode, fra spørgsmålet ovenover, hvor brugeren indtaster dato på formatet dd-mm-yyyy (altid med korrekteantal cifre):
formDato = Request.Form("dato")
dato = Year(formDato) & "-" & Month(formDato) & "-" & Day(formDato)
Men jeg får cirka det samme problem som nævnt i http://eksperten.dk/spm/115073, at hvis der indtastes en dato i formfeltet der hvor dagen er før måneden så byttes der om på dag og måned, når jeg udskriver resultatet.
Er det forstået korrekt at man skal konvertere sine datoer til yyyy-mm-dd (eller mm-dd-yyyy) når man arbejder med det i SQL? Dvs. når man modtager i formatet fra en tekstboks, skal det konverteres til yyyy-mm-dd når det gemmes i Access og derefter kan man hive det ud som man ønsker?
Jeg synes det er det jeg gør herunder.
================================
IF Request.ServerVariables("REQUEST_METHOD") = "POST" THEN
formDato = Request.Form("dato")
strSQL = "SELECT dato FROM dagsrapport WHERE dato = #" & FormatDateTime(formDato,vbShortDate) & "# AND brugerId = " & Session("brugerId")
Set rsDato = Conn.Execute(strSQL)
IF NOT rsDato.EOF THEN
datoExist = "<font color='red'>Du har allerede oprettet en dagsrapport for d. " & FormatDateTime(rsDato("dato"), vbLongDate) & "</font>"
ELSE
IF IsDate(formDato) = false THEN
datoFejl = "<font color='red'>Du har indtastet en forkert dato. Dato skrives på formen DD-MM-YYYY.</font>"
ELSE
dato = Year(formDato) & "-" & Month(formDato) & "-" & Day(formDato)
strSQL = "INSERT INTO dagsrapport (dato, brugerId, tidsforbrug, antalOpkald, antalBeslutningstagere, antalMoeder) VALUES (#" & dato & "#,'" & Session("brugerId") & "','" & Request.Form("tidsforbrug") & "','" & Request.Form("antalopkald") & "','" & Request.Form("antalBeslutningstagere") & "','" & Request.Form("antalMoeder") & "')"
Conn.Execute(strSQL)
rapportgemt = true
END IF
END IF
END IF
================================
