Hallo,
ich möchte gerne einen Filter für ein Formular setzen. Dazu muss ich lt. Hilfe eine Where-Klausel ohne das Schlüsselwort Where benutzen. Folgender Code funktioniert aber nicht (Syntaxfehler):
((([Tab Telefonnummern].Nachname) Like '" & "*" & Result & "*'" & ")) OR ((([Tab Telefonnummern].Vorname) Like '" & "*" & Result & "*'" & ")) OR ((([Tab Telefonnummern].Straße) Like '" & "*" & Result & "*'" & ")) OR ((([Tab Telefonnummern].Ort) Like '" & "*" & Result & "*'" & ")) OR ((([Tab Telefonnummern].Mailadresse) Like '" & "*" & Result & "*'" & ")) OR ((([Tab Telefonnummern].Bemerkungen) Like '" & "*" & Result & "*'" & "));"
Ich habe die Where-Klausel mit der SQL einer funktionierenden Abfrage verglichen. Ich finde partout keinen Unterschied.
Wo könnte der Fehler liegen? Nach mehreren Stunden Probierens bin ich es leid und weiß nicht weiter. Auch eine Paramterabfrage mit "Wie *[Suchwort]*" kriege ich nicht mehr hin. Dann würde ich einfach die Abfrage tauschen.
Gruß
compinaut
ZitatFilter für ein Formular per VBA setzen
Dim sFilter As String
sFilter = "..." ' da käme so etwas wie von Dir geschrieben hinein, gerne aber übersichtlicher und effizienter
Me.Filter = sFilter
Me.FilterOn = True ' also auch zuweisen und anwenden
Zitat von: compinaut am Februar 10, 2022, 12:11:55ich möchte gerne einen Filter für ein Formular setzen.
Für das erforderliche Basiswissen, lies mal mein VBA-SQL-String-Tutorial (https://codekabinett.com/rdumps.php?Lang=1&targetDoc=vba-sql-string-tutorial), oder schau dir das korrespondierende Tutorial-Video (https://www.youtube.com/watch?v=HSGSsjcbi2c) an.
Und dann gibt es auch noch die Print-Methode des Debug-Objekts.
Dim sFilter as String
sFilter = "DeinAusdruck"
Debug.Print sFilterAnsehen mit Ctrl-G.