Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Codepage korrigieren

Begonnen von crystal, Juli 21, 2016, 17:59:03

⏪ vorheriges - nächstes ⏩

crystal

Hallo Leute,

folgendes Problem:
ich habe Daten aus diversen Textdateien importiert, die ich leider nicht mehr komplett zur Verfügung habe. Die Textdateien wurden mit Codepage 850 erstellt (DOS), aber leider arbeitet Windows mit cp 1252.

Gibt es eine einfache Möglichkeit, dies in meiner Tabelle nachträglich zu korrigieren außer jedes Feld mit mehreren replace (für äöüßÄÖÜ usw.) abzuarbeiten?

Wer Fehler in meinen Antworten findet, darf sie behalten, muss sie aber kommentieren. ;-)
Dies ist keineswegs arrogant gemeint, sondern soll nur unterstreichen, dass meine Antworten - natürlich - nicht immer fehlerfrei sind und sein können.
Devise: bitte immer erst selbst probieren!

Aus gesundheitlichen Gründen nur noch selten dabei...

Lachtaube

Schwer zu sagen, welcher Aufwand größer ist.

Ein Weg wäre:

==> Standard-Textexport fahren
==> Tabelleninhalt löschen
==> Textdaten erneut in bestehende Tabelle importieren und die richtige Code Page im Assistenten einstellen.

Am besten mit einer Kopie der DB testen.
Grüße von der (⌒▽⌒)

crystal

Danke Lachtaube,

so ähnlich habe ich es jetzt gemacht, allerdings ohne Löschen der Spalten, sondern mittels Temorärtabelle, joins und Updates.
Wer Fehler in meinen Antworten findet, darf sie behalten, muss sie aber kommentieren. ;-)
Dies ist keineswegs arrogant gemeint, sondern soll nur unterstreichen, dass meine Antworten - natürlich - nicht immer fehlerfrei sind und sein können.
Devise: bitte immer erst selbst probieren!

Aus gesundheitlichen Gründen nur noch selten dabei...

Lachtaube

Das ist natürlich geschickter. :)
Grüße von der (⌒▽⌒)

Beaker s.a.

Hallo crystal,
Falls du das öfter hast, kannst du auch mal dies probieren.
Option Compare Database
Option Explicit
'Dieses Modul stammt von Norbert Kammer aus einer Access-Newsgroup
'es dient der Umwandlung von ASCII zu ANSI Zeichen

Declare Function OemToChar Lib "user32" Alias "OemToCharA" _
        (ByVal lpszSrc As String, _
        ByVal lpszDst As String) As Long

Declare Function CharToOem Lib "user32" Alias "CharToOemA" _
        (ByVal lpszSrc As String, _
        ByVal lpszDst As String) As Long

Public Function Dos2Ansi( _
        ByVal cDos As String) As String
'---------------------------------------------------------------------------------------
On Error GoTo Fehler

    Dim cErg As String
    Dim X    As Long
   
    cErg = Space$(Len(cDos & vbNullString))
    X = OemToChar(cDos, cErg)
   
    Dos2Ansi = cErg

Ende_CleanUp:
    On Error Resume Next
    Exit Function

Fehler:
    MsgBox Err.Number & vbCrLf _
        & Err.Description
    Resume Ende_CleanUp

End Function


gruss ekkehard
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)