Hallo an alle,
mit der Erstellung eines Formularfilters für zwei Suchkriterien komme ich einfach nicht weiter. Und zwar soll der Filter mit dem Wort aus dem ungebundenen Feld Begriff2 das Feld Name durchsuchen. Dabei soll die Suche tolerant sein, also ausdrücklich mit Like gesucht werden. Bei der ABR_NR hingegen, soll exakt nach der im ungebundenen Feld Begriff4 vorgegebenen Zahl gesucht werden. Ich habe schon sämtliche Varianten ausprobiert und bin jetzt bei folgendem Stand:
Me.Filter = "[NAME] Like '" & [Begriff2] & "*'" & " and " & "[ABR_NR]='" & [Begriff4] & "'
Me.FilterOn = True
Führe ich das Makro aus, kommt Laufzeitfehler '2001'; Sie haben die vorherige Operation abgebrochen.
Kann mir jemand schreiben, wo der Fehler in meinem Makro ist?
Vielen Dank! :)
Hallo,
welcher Datentyp hat das Feld ABR_NR, Zahl oder Text?
PS:
Name als Feldname ist absolut tabu. Das ist kein Rat, sondern ein muss. Name als Feldname führt zu großen Problemen, da Name auch eine Eigenschaft von fast allen Objekten ist.
Du kannst es probieren, gib in einem Formularfeld als Steuerelementname =[Name] ein und Du erhältst nicht den Namen den Du willst, sondern den Namen des Formulars.
Ändere in Nachname oder so.
Hallo MzKlMu,
Vielen Dank für die Antwort. :)
der Datentyp des Feldes ABR_NR ist Zahl.
Den Feldnamen NAME werde ich ändern.
Viele Grüße
tbg
Hallo,
wenn Zahl, dann ohne Hochkomma:
Me.Filter = "[NAME] Like '" & [Begriff2] & "*'" & " and " & "[ABR_NR]=" & [Begriff4]
Hallo ,
funktioniert das hier denn:
Me.Filter = "[NAMENSFELD] Like '" & Nz([Begriff2], "") & "*' and [ABR_NR] Like '" & Nz([Begriff4], "*") & "'"
Das sollte Nullwerte in den Suchkriteriumsfeldern [Begriff2] und [Begriff4] korrekt behandeln: Sind sie ggf. nicht gefüllt (d.h. NULL), dann wird nach beliebigen Ausprägungen in [NAMENSFELD] bzw. [ABR_NR] gesucht.
Habe es jetzt nicht direkt ausprobiert, käme also auf einen Versuch an :-)
Viele Grüße
Hallo Stefan,
ZitatMe.Filter = "[NAMENSFELD] Like '" & Nz([Begriff2], "") & "*' and [ABR_NR] Like '" & Nz([Begriff4], "*") & "'"
Nz könnte hilfreich sein, ich denke aber, dass man die
Controls auch als zum Formular gehörig ansprechen sollte
Me.Filter = "[NAMENSFELD] Like '*" & Nz(Me!Begriff2, "") & "*' And [ABR_NR] = " & Nz(Me!Begriff4,0)Er will im Namensfeld nach Vorkommen suchen, und
in der Nummer nach Übereinstimmung, wobei das
Namensfeld Text ist und die Nummer Zahl.
gruss ekkehard
Hallo,
in diesem Ausdruck (Filterbedingung)
"... Like '*" & Nz(Me!Begriff2, "") & "*' ...
ist die NZ-Funktion überflüssig.. Auch wenn das Textfeld "leer" (NULL) ist, ergibt der Ausdruck lediglich zwei aufeinanderfolgende Sternchen ohne expliziten "Nullstring" dazwischen
... Like '**' ...