Falsche Zeichenkodierung beim Import / Einbinden von DBASE in MS Access.
In MS Windows ist i.R. der Zeichensatz auf OEM voreingestellt. Dies ist beim Einbinden von dbase Datenbank-Dateien die falsche Kodierung.
Es gibt nur die Möglichkeit dies über die Registry zu steuern. Hierfür werden aber Admin-Rechte
benötigt da der Reg-Schlüssel im Lokal-Machine Bereich liegt.
Die Zeichenfolge "DataCodePage" in dem Registrierungsschlüssel ist für den Zeichensatz verantwortlich.
Für 64bit Betriebs-Systeme (x64) liegt Schlüseel in:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Jet\4.0\Engines\Xbase
In 32Bit Systemen (x86)
HKEY_LOCAL_MACHINE\Software\Microsoft\Jet\4.0\Engines\Xbase
Den Wert von "OEM" auf "ANSI"unstellen.
es gibt noch die Jetengine 3.5 ggf auch hier anpassen
Es gibt aber auch eine Möglichkeit per VBA die Daten zu wandeln
' Zeichenkonvertierung
Public Declare Function CharToOem Lib "user32" Alias "CharToOemA" (ByVal lpszSrc As String, ByVal lpszDst As String) As Long
Public Declare Function OemToChar Lib "user32" Alias "OemToCharA" (ByVal lpszSrc As String, ByVal lpszDst As String) As Long
Public Declare Function CharToOem Lib "user32" Alias "CharToOemA" (ByVal lpszSrc As String, ByVal lpszDst As String) As Long
Public Declare Function OemToChar Lib "user32" Alias "OemToCharA" (ByVal lpszSrc As String, ByVal lpszDst As String) As Long
Public Function Char2OEM (Source$) as string
Dim Result&
Dim Tarbet$
result = CharToOem ( Source, Target )
Char2OEM = Target
End Function