VBA Trimmen, um alle Zellen in eine Access-Tabelle
Ich bin relativ erfahren mit der Objekt-orientierten Programmierung, aber dies ist meine erste mal überhaupt mit der Arbeit in Office mit VBA, und ich bin völlig ratlos durch die syntax. Ich habe getan, einige suchen und Herumspielen mit ihm für die vergangene Stunde oder so, aber die haben schon Probleme eigentlich immer ein makro erfolgreich ausgeführt wird, und tut, was ich brauche.
Ich versuche, eine Schleife über jede Zelle in eine Access-Tabelle und wenden Sie die Trim-Funktion, um den Inhalt der Zelle, und als bonus, ich möchte, um entfernen Sie alle zusätzlichen Leerzeichen in der Zeichenfolge (falls vorhanden). I. e. " Trim this__string "
einfach werden würde "Trim this string"
(ich habe den Unterstrich, es zu repräsentieren einzelne, mehrere Räume, da StackOverflow nicht zeigen wollen meine mehrere Räume).
Jede code-Beispiel für sowas, oder zumindest etwas, um mich schließen und dann kann ich basteln mit es würde sehr geschätzt werden. Danke!
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie entfernen Sie führende und nachfolgende Leerzeichen mit der
Trim()
Funktion in einer Abfrage.Wenn Sie innerhalb einer Access-Sitzung, die Sie nutzen könnten
Replace()
zu ersetzen, die eine Sequenz von zwei Leerzeichen durch ein einzelnes Leerzeichen.Jedoch müssen Sie möglicherweise zu laufen, dass
Replace()
Abfrage mehr als einmal, um alle zusammenhängenden Leerzeichen, sich auf nur eine.Sie können auch einen regulären Ausdruck-basierten Ersatz mit einer benutzerdefinierten Funktion. Ich weiß nicht, ob das die Mühe Wert ist, aber. Und eine Benutzer-definierte Funktion ist auch nur innerhalb einer Access-Anwendung, die session.
Ich übersehen, die "jede Zelle in einer Tabelle" Aspekt. Das macht diese schwieriger und ich glaube nicht, lösen Sie es mit einem standard-makro oder einer Abfrage. Sie können jedoch mithilfe von VBA-code zu prüfen, der
TableDef
ist, und zum iterieren über die Felder ... dann rufen Sie IhrenTrim
- und/oderReplace
Operationen auf die Felder, deren Daten-Typ text oder memo.Hier ist eine grobe code-Gliederung zu erkennen, welche Felder einer Tabelle sind text.
Option Compare Database
If DCount("Account_number", "Field_Match_Found") = 0 Then
MsgBox ("es wurde Keine übereinstimmung gefunden")
Sonst
MsgBox ("Check-Tabelle Field_Match_Found für Ihre Ausgabe")
End Function