Rozwiązanie podał BraZby (brazby@poczta.onet.pl), oto ono:
Declare Function GetLocaleInfo Lib "kernel32" Alias _
"GetLocaleInfoA" (ByVal Locale As Long, _
ByVal LCType As Long, ByVal lpLCData As String, _
ByVal cchData As Long) As Long
Function zbSepDec()
Dim lRet As Long
Dim sBfData As String
Dim lType As Long
Const cBf = 3
Const LOCALE_USER_DEFAULT& = &H400
Const LOCALE_SDECIMAL = &HE
lType = LOCALE_SDECIMAL
sBfData = Space(cBf)
lRet = GetLocaleInfo(LOCALE_USER_DEFAULT, lType, sBfData, cBf)
zbSepDec = Left(sBfData, lRet - 1)
End Function
Funkcja zbSepDec() zwróci przecinek, kropkę lub inny separator, w zależności od ustawień regionalnych.
A oto pomysłowe rozwiązanie tego samego problemu, podane przez Grzegorza Banasiaka:
Mid(Format(1, "0.00"), 2, 1)
Całą robotę wykonuje Access, my tylko radośnie kradniemy wyniki - pisze Grzegorz.