Ersetzen von doppelten Leerzeichen

Hallo,

ich verarbeite externe Adressdaten, dabei kommt es vor, dass die Adressen fast identisch sind (sich nur dadurch unterscheiden, dass an bestimmten Stellen statt einem Leerzeichen zwei benutzt werden).

Ich möchte nun alle Felder die zwei aufeinanderfolgende Leerzeichen enthalten aktualisieren und zwar so, dass diese Felder nur noch ein Leerzeichen enthalten.

In Access kein Problem mit Suchen und Ersetzen in allen Feldern.

Jedoch will ich dies per VBA realisieren und da finde ich keinen geeigneten Befehl. Und genau das ist mein Problem, Ersetzen von zwei aufeinanderfolgenden Leerzeichen durch eines und das per VBA.
VB

Hat jemand eine Idee.

Danke im Voraus

Peter

Hallo Peter,

mit der Funktion mid(feldname,start,länge) kannst du prüfen ob 1 oder 2 Leerzeichen an einer bestimmten Position stehen.
Wenn die Position variabel ist musst du das ganze in eine Do Until oder For Next Schleife packen und vom Anfang bis zum Ende des Strings suchen.
Das Ganze dann noch in eine IF Then gepackt und das doppelte Leerzeichen ersetzen.

Gruß Hans

Hi Peter,

versuchs doch mal mit der folgenden Funtion

Public Function ElimDubBlancs(tempName As String) As String

Dim tmpStr As String
Dim strPos As Integer
Dim workStr As String

strPos = InStr(1, tempName, " ")
If strPos 1
workStr = Left(tmpStr, strPos - 1)
workStr = workStr & " " & Right(tmpStr, (Len(tmpStr) - strPos) - 1)
tmpStr = workStr
strPos = InStr(strPos + 2, tmpStr, " ")
Wend
ElimDubBlancs = workStr

End Function

Hope this helps

Tschau
Peter

Hi Peter,

vorsicht, beim Copy&amp:stuck_out_tongue_winking_eye:aste aus demm Thread geht in der Zeile
strPos = InStr(1, tempName, " ")
ein Lehrzeichen zwischen den Hochkommatas verloren. Da muessen 2 Leerzeichen zwischen " " sein

Gruss
Peter

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo,

ich habe mich wohl ungeschickt ausgedrückt, mein Problem ist nicht, wie ich 2 Leerzeichen durch eines ersetzen kann, die richtigen Anregungen mit mid$ sind klar.

Wenn ich in der Tabellenansicht bin, kann ich mit Ersetzen (STRG+H) einen Dialog ausrufen, mit dem ich dann in allen Feldern der Tabelle z.B. zwei Leerzeichen durch eines ersetzen kann.

Genau diesen Befehl will ich nun per VBA ausführen und finde ihn bloss nicht.

Danke für die bisherigen Hilfen

Peter

Hallo Peter,

wie wär´s damit …

DoCmd.RunCommand acCmdReplace

gruss
moritzbock

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]