Hallo an alle,
Hab da ein Problem und komme da nicht weiter
In einem Eingabefeld das auf Eingabe PLZ formatiert ist gebe ich eine PLZ ein und filtere das Recordset
Aber leider bekomme ich kein Ergebnis wenn an erster stelle eine 0 steht
Ich bekomme es nicht hin in den Zeile das Format "0000" einzubauen
rst.Filter = "Postleitzahl LIKE '" & strPlz & "*'"
Wenn ich das Eingabefeld auf "Format Allgemeine Zahl" , "Eingabeformat 00000" einstelle
Wird nach verlassen des Feldes die erste 0 abgeschnitten aber ich bekomme das filter Ergebnis das ich suche aber dort wird die erste 0 auch abgeschnitten
Auslöser Button:
Private Sub CmdPlzSuchen_Click()
PlzFilter (Me![TxtPlzSuchen])
End Sub
Recorder Filter:
Sub PlzFilter(strPlz As String)
Dim dbs As Database
Dim rst As Recordset
Dim rstGefiltert As Recordset
Set dbs = CurrentDb
Set rst = dbs.OpenRecordset("QryOrteDeutschland", dbOpenDynaset)
rst.Filter = "Postleitzahl LIKE '" & strPlz & "*'"
Set rstGefiltert = rst.OpenRecordset
With rstGefiltert
Do Until .EOF
Debug.Print !OrtID
Debug.Print !Postleitzahl
Debug.Print !Ort
Debug.Print !Bundeslaender
Debug.Print !Land
Debug.Print !StatenFlagge
Debug.Print !BundWappen
.MoveNext
Loop
End With
Set Me!IstOrt.Recordset = rstGefiltert
rst.Close
Exit Sub
Fehler:
MsgBox Err.Number & " " & Err.Description
End Sub
Gruß Frank
Ich hab da noch was vergessen!
Beim laden des Formulars initialisiere ich das ungefilterte Recordset aus einer abfrage auf ein
Kombinationsfeld da wird alles richtig angezeigt es stimmt nur nicht mehr wenn ich den filter anwende
An der abfrage kann ich nichts ändern da ich sie mehrfach verwende
Gruß Frank
Hallo,
der Datentyp der PLZ sollte wegen der führenden 0 auf Text eingestellt werden.
Dann hast Du die Probleme los.
Die Formatierung erzingt nur die Anzeige der 0, in der Tabelle ist diese nicht vorhanden, daher klappt das auch nicht mit dem Filter.
Grundsätzlich sollte man Zahlenwerte, mit denen nicht gerechnet wird als Text eingeben. Z.B PLZ, Telefon-, Karten- oder sonstige Nummern.
Vermeidet unnötige Fehler. :)