Hallo,
Ich habe eine kleine DB wo erstmal sonst nichts ist außer einem Filter der nicht so richtig geht.
Wenn ich in einen der Felder was reinschreibe dann wird der Unterformular gefiltert aber wenn bei einem Datensatz PLZ fehlt dann geht der filter nicht
(http://s7.directupload.net/images/110314/temp/atcrurcw.png) (http://s7.directupload.net/file/d/2463/atcrurcw_png.htm)
im Anhang meine DB
[Anhang gelöscht durch Administrator]
Hallo,
deine Logik ist überflüssig.
Anstatt alle nicht ausgewählten Felder mit like * zu suchen solltest du nur die ausgewählten suchen.
Wenn man sucht:
Ort = egal, Strasse = Egal, Name = Müller, dann lässt sich diese Logik gemäß der Logikgesetze wie folgt vereinfachen:
Name = Müller
Deine Prozedur sollte also wie folgt aussehen:
Public Function trefferliste(feldname As String)
Dim s As String
Dim t As String
s = s & t & feldname & " LIKE '*" & Form_frm_eingabe(feldname).text & "*'"
t = " AND "
Forms!frm_Eingabe!Unterformular.Form.Filter = s
Forms!frm_Eingabe!Unterformular.Form.FilterOn = True
End FunctionAndreas
Hallo,
änder mal so ab:
If feldname = CStr(felder(a)) Then
s = s & t & " nz(" & felder(a) & ",'') " & " LIKE '*" & Form_frm_eingabe(CStr(felder(a))).text & "*'"
Else
s = s & t & " nz(" & felder(a) & ",'') " & " LIKE '*" & Form_frm_eingabe(CStr(felder(a))) & "*'"
End If
Danke DF6GL,
funktioniert jetzt gut, nur warum...wieso macht die nz() da abhilfe ?
Hallo Hondo,
die Felder sollen von einander abhängig sein.
wenn ich Name: "Thomas" eingabe und später im Feld Ort: "Berlin" eingebe dann möchte ich Alle mit namen Thomas die in Berlin wohnen anzeigen lassen was jetzt dank DF6GL möglich ist.
HAllo,
mit Like kannst Du keine NULL-Werte filtern, also wandeln wir die NULL-Werte in Leerstrings um..
Zitatmit Like kannst Du keine NULL-Werte filtern, also wandeln wir die NULL-Werte in Leerstrings um..
achsooooooooo :) stimmt PLZ is ja bei mir Log Integer.
Danke euch allen
Hallo,
PLZ als Long Integer?? Ändere das gleich mal in Text.
Mit Like kannst Du nur Text fltern.
Für Datums-Vergleiche mußt Du Dich an das SQL-Datumsformat (ISO- oder USA-Format in Access) halten.
Ingesamt muß ich Andreas beipflichten, dass solche Suchfunktionen eher nicht zielführend sind..
ZitatMit Like kannst Du nur Text fltern.
und wieso funktioniert das bei mir ?
mit Datum geht es auch.
und der Filter soll mehr als eingabehilfe dienen, vielleicht hat man die Person schon.