moeller67
Goto Top

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???

Content-ID: 96717

Url: https://administrator.de/contentid/96717

Ausgedruckt am: 05.11.2024 um 19:11 Uhr

bastla
bastla 11.09.2008 um 17:49:32 Uhr
Goto Top
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):
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
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:
Zahl: LeseZahl([EinFeld])
bzw als SQL-Statement
SELECT LeseZahl([EinFeld]) AS Zahl FROM EineTabelle;
Wurde keine einzige Ziffer gefunden, ist das Ergebnis ein leerer String "".

Grüße
bastla
moeller67
moeller67 12.09.2008 um 08:54:39 Uhr
Goto Top
Hat super geklappt. Vielen Dank. Gruß Stephan Möller