PDA

Vollständige Version anzeigen : Leerzeichen aus Feldinhalt entfernen


Alexandra, die zweite
04.10.2002, 13:34
Hallo,

kann mir jemand verraten, wie ich am geschicktesten sämtliche Leerzeichen in den Inhalten eines bestimmtes Feldes einer Tabelle entfernen kann?

Es sind teilweise mehrere Leerzeichen hintereinander, teilweise an verschiedenen Stellen, etc

Any ideas?

Gruß,
Alex

MarkusS
04.10.2002, 13:42
Hallo,
versuchs mal mit Replace(), siehe OnlineHilfe.

AWSW
04.10.2002, 13:42
Hallo Alex,
schau mal im <a href="http://www.access-paradies.de" target="_blank">www.access-paradies.de</a> unter <a href="http://www.access-paradies.de/code/tipsundtricks/strings/Leerzeichen_loeschen/Default.htm" target="_blank">http://www.access-paradies.de/code/tipsundtricks/strings/Leerzeichen_loeschen/Default.htm</a> nach

HTH Axel

Günther Kramer
04.10.2002, 14:12
Weshalb in die Ferne, wenn das Gute doch so nah:

<a href="http://www.ms-office-wissen.de/askdrmof/details.php?id=13" target="_blank">http://www.ms-office-wissen.de/askdrmof/details.php?id=13</a>

Wozu haben wir denn den guten Dr. MOF, den wir fragen können. ;)

Alexandra, die zweite
04.10.2002, 15:11
hi,

danke für eure Antworten, leider komme ich mit keiner so richtig zu einer Lösung. Es geht darum, in einer Tabelle (Tabelle1) mit rund 6000 Datensätzen die Inhalte aus Feld2 von ihren Leerzeichen zu befreien.

Wie müssen die Funktionen aussehen, um die Leerzeichen aus allen Feldinhalten zu löschen?

GRuß,
Alex

Scorefun
04.10.2002, 15:16
mit einer aktualisierungsabfrage:

UPDATE Tabelle1 SET Tabelle1.DeinFeld = killblank([DeinFeld]);

um mit Dr. MOF's Code zu arbeiten...

Günther Kramer
04.10.2002, 15:18
Hallo Alex,

füge die Funktion von Dr. MOF in ein neues Modul ein.

Erstelle dann eine Aktuallisierungsabfrage. Füge das gewünschte Feld als Auswahl hinzu und schreibe als Aktuallisierungstext folgenden Code:
KillBlank([Deinen Feldnamen])

Laß nun die Abfrage ausführen (mach zuvor eine Sicherung!)
Das müsste es gewesen sein.

Du kannst das ganze auch über eine VBA-Funktion erledigen. Recordset öffnen, Alle Datensätze in einer Schleife durchlaufen und den Feldinhalt wie folgt ändern.
rs.Edit
rs![Feldname] = KillBlank(rs![Feldname])
rs.Update

Melde dich wieder, wenn du nicht klar kommst.

Alexandra, die zweite
05.10.2002, 06:52
hi,

danke, mir war der Aufruf mittels Aktualisierungsabfrage dann nicht ganz klar.

Ich hab das jetzt mal gemacht, mir werden auch Leerzeichen entfernt, nur nicht alle. Wenn z.B. folgendes im Feld steht

ABC..#....9999

und aktualisiere die Daten, steht im Feld dann

ABC.#.9999

(die Punkte sollen hierbei Leerzeichen darstellen)

Muss ich an der Funktion noch etwas ändern?

Wenn ich wenigstens nur das zu tun hätte *seufz*

Gruß,
Alex

Lothi
05.10.2002, 08:31
Hallo Alexandra

Wenn du das &Zeichen in dem Code auskommentierst werden dir keine Leerzeichen mehr angezeigt.
Function KillBlank(TempString)

Dim Temp As String
Dim Zeichen As String
Dim NeuerString As String
Dim Gefunden As Boolean
Dim i As Integer

Gefunden = False
NeuerString = ""

If IsNull(TempString) Then
' Wenn kein Inhalt im Feld vorhanden ist,
' wird die Funktion abgebrochen
Exit Function
Else
Temp = CStr(TempString)
For i = 1 To Len(Temp)
Zeichen = Mid$(Temp, i, 1)
If Zeichen = Chr(32) Then
If Not Gefunden Then
Gefunden = True
NeuerString = NeuerString '& Zeichen
End If
Else
NeuerString = NeuerString & Zeichen
Gefunden = False
End If
Next i
' Das Ergebnis wird an die Funktion wieder übergeben
KillBlank = NeuerString
Debug.Print NeuerString
End If

End Function

Günther Kramer
05.10.2002, 08:35
Hallo Alex,

schau dir mal die neue Funktion an.
Diese löscht nun alle Leerzeichen aus dem String.

<a href="http://www.ms-office-wissen.de/askdrmof/details.php?id=51" target="_blank">http://www.ms-office-wissen.de/askdrmof/details.php?id=51</a>

Verwende diese Funktion, wie die vorige.

Alexandra, die zweite
05.10.2002, 09:12
Daaaaanke, funktioniert prima!!! Damit wäre das zumindest erledigt, super!!!

Gruß,
Alex