[ BiloKoje @ 25.12.2017. 11:47 ] @
Acces baza je napravljena u .mdb formatu, zatim je updateovana u .accdb, radila je u Accessu 2010 na 32bitnom sistemu. Na 64bitnom sistemu odmah prijavljuje grešku i pokazuje na modul u kojem se nalazi sledeći kod: Code: Option Compare Database Option Explicit 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" Public Enum acKeyboardLanguage hklEnglishUS hklEnhlishUK hklCroatian hklSerbianCyrilic hklSerbianlatin End Enum Function SetKeyboardLanguage(KeyboardLanguage As acKeyboardLanguage) 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) End Select If hkl <> 0 Then SetKeyboardLanguage = (ActivateKeyboardLayout(hkl, 0) <> 0) End Function Molim za pomoć, kako da menjam postavke jezika iz VBA koda u 64bitnom Accesu 2010. Verovatno će biti i drugih problema sa starim funkcijama? |