När datumsträngar ska användas i accessprogram är det många gånger viktigt att rätt formatsträng användas. Speciellt om programmet ska användas i olika länder. Då kan man inte använda ”svenska” formatering: Format(dat, "yyyy-mm-dd")
Istället kan man använda nedanstående funktion för att ta reda på vilken formatsträng som ska användas, anropet ser då ut så här: Format(dat, datumFmt())
' Ruturnerar en formatsträng
' som tex kan användas till funktionen Format()
' Exempel på svar:
' 1) "yyyy-mm-dd" om svenskt datumformat används
' 2) "d.m.yyyy" om finskt datumformat används
' 3) "dd-mm-yyyy" om spanskt datumformat används
' 4) "m/d/yyyy" om USAs datumformat används
' 5) "dd/mm/yyyy" om Engelskt datumformat används
Function datumFmt()
Dim Dat$, ch$, fmt$
Dat = CStr(DateSerial(2012, 1, 9))
If InStr(Dat, ”-”) Then ch = ”-”: Dat = Replace(Dat, ”-”, ”-”)
If InStr(Dat, ”.”) Then ch = ”.”: Dat = Replace(Dat, ”.”, ”-”)
If InStr(Dat, ”/”) Then ch = ”/”: Dat = Replace(Dat, ”/”, ”-”)
Select Case Dat
Case ”2012-01-09″: fmt = ”yyyy-mm-dd” ‘ Sverige,Polen
Case ”2012-09-01″: fmt = ”yyyy-dd-mm” ‘
Case ”2012-1-9″: fmt = ”yyyy-m-d” ‘
Case ”2012-9-1″: fmt = ”yyyy-d-m” ‘
Case ”09-01-2012″: fmt = ”dd-mm-yyyy” ‘ Spanien
Case ”01-09-2012″: fmt = ”mm-dd-yyyy” ‘ Österrike
Case ”9-1-2012″: fmt = ”d-m-yyyy” ‘ Finland
Case ”1-9-2012″: fmt = ”m-d-yyyy” ‘ Usa
Case Else: MsgBox ”Okänt datumformat.”: Stop
End Select
datumFmt = Replace(fmt, ”-”, ch)
End Function


