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&: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]