U pravu si VB Acces ne podrzava enum.
Declare Function LoadKeyboardLayout Lib "user32" Alias "LoadKeyboardLayoutA" (ByVal pwszKLID As String, ByVal flags As Long) As Long
Declare Function ActivateKeyboardLayout Lib "user32" (ByVal hkl As Long, ByVal flags As Long) As Long
Declare Function UnloadKeyboardLayout Lib "user32" (ByVal hkl As Long) As Long
Declare Function GetKeyboardLayoutName Lib "user32" Alias "GetKeyboardLayoutNameA" (ByVal pwszKLID As String) As Long
Const HKL_ENGLISH_US = "00000409"
Const HKL_ENGLISH_UK = "00000809"
Const HKL_CROATIAN = "0000041A"
Const HKL_SERBIAN_CYRILIC = "00000C1A"
Const HKL_SERBIAN_LATIN = "0000081A"
Const HKL_BOSNIAN_LATIN = "0000141A"
Function SetKeyboardLanguage(KeyboardLanguage As String) As Boolean
Dim hkl As Long
SetKeyboardLanguage = False
Select Case KeyboardLanguage
Case "hklEnglishUS"
hkl = LoadKeyboardLayout(HKL_ENGLISH_US, 0)
Case "hklEnhlishUK"
hkl = LoadKeyboardLayout(HKL_ENGLISH_UK, 0)
Case "hklCroatian"
hkl = LoadKeyboardLayout(HKL_CROATIAN, 0)
Case "hklSerbianCyrilic"
hkl = LoadKeyboardLayout(HKL_SERBIAN_CYRILIC, 0)
Case "hklSerbianLatin"
hkl = LoadKeyboardLayout(HKL_SERBIAN_LATIN, 0)
Case Is = "hklBosniannLatin"
hkl = LoadKeyboardLayout(HKL_BOSNIAN_LATIN, 0)
End Select
If hkl <> 0 Then SetKeyboardLanguage = (ActivateKeyboardLayout(hkl, 0) <> 0)
End Function
zxz