Zahl aus Text filtern (in einer Abfrage)
Ich möchte in einer Abfrage in Access aus einem Feld, das Zahlen und ein paar Buchstaben beinhaltet (z.B. "F 17" oder "894 K" oder "CK 77"),
jeweils nur die Zahl herausfischen (also z.B. 17 oder 894 oder 77). Hat jemand dafür eine Lösung???
jeweils nur die Zahl herausfischen (also z.B. 17 oder 894 oder 77). Hat jemand dafür eine Lösung???
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 96717
Url: https://administrator.de/contentid/96717
Ausgedruckt am: 05.11.2024 um 19:11 Uhr
2 Kommentare
Neuester Kommentar
Hallo moeller67!
Du könntest dafür eine benutzerdefinierte Funktion verwenden. Der folgende VBA-Code filtert zB aus dem übergebenen Wert alle Ziffern heraus (auch, wenn dazwischen andere Zeichen vorkommen):
Um die Funktion "LeseZahl()" verwenden zu können, zunächst im Datenbankfenster über "Module / Neu" ein Modul erstellen und den Code in dieses Modul kopieren. Beim Speichern das Modul mit einem pssenden Namen versehen, etwa "Funktionen".
In einer Abfrage kannst Du dann folgendes berechnete Feld verwenden:
bzw als SQL-Statement
Wurde keine einzige Ziffer gefunden, ist das Ergebnis ein leerer String "".
Grüße
bastla
Du könntest dafür eine benutzerdefinierte Funktion verwenden. Der folgende VBA-Code filtert zB aus dem übergebenen Wert alle Ziffern heraus (auch, wenn dazwischen andere Zeichen vorkommen):
Function LeseZahl(Eingabe)
Dim L As String, Zahl As String, Zeichen As String, i As Integer
L = Len(Eingabe)
Zahl = ""
For i = 1 To L
Zeichen = Mid(Eingabe, i, 1)
If Zeichen >= "0" And Zeichen <= "9" Then Zahl = Zahl & Zeichen
Next
LeseZahl = Zahl
End Function
In einer Abfrage kannst Du dann folgendes berechnete Feld verwenden:
Zahl: LeseZahl([EinFeld])
SELECT LeseZahl([EinFeld]) AS Zahl FROM EineTabelle;
Grüße
bastla