Fehler in Formular-Filter? "Ungültige Funktion"
Lorenz
Gesendet: 17.02.25 12:00
Betreff: Fehler in Formular-Filter? "Ungültige Funktion"


Veteran

Beiträge: 106
100
Liebe Kolleg:innen,

ich habe einen Fehler in einem Formularfilter, der mir unerklärlich ist. Er lässt sich ganz einfach erzeugen, indem ich das Formular mit verschiedenen WHERE-Klauseln aufrufe:
  • DoCmd.OpenForm "frmAuftraegeDetails", , , "([AuftragsNr] LIKE ""2*"")" 'funktioniert
  • DoCmd.OpenForm "frmAuftraegeDetails", , , "([Projektverantwortlicher] = ""tb"")" 'funktioniert
  • DoCmd.OpenForm "frmAuftraegeDetails", , , "([Projektverantwortlicher] = ""tb"") AND ([AuftragsNr] LIKE ""2*"")" 'scheitert!
  • DoCmd.OpenForm "frmAuftraegeDetails", , , "([Projektverantwortlicher] = ""tb"") AND ([Projektverantwortlicher] = ""tb"")" 'funktioniert

Beide Felder sind String und lassen sich erkennbar einzeln filtern, das ist also syntaktisch korrekt. Der gemeinsame Aufruf in der dritten Zeile scheitert mit der Fehlermeldung Laufzeitfehler '3072': Ungültiges Argument für Funktion.

Die Hilfe dazu (https://learn.microsoft.com/de-de/office/vba/access/concepts/miscellaneous/error-3072) rätselt über Gültigkeitsprüfungen, beide Felder haben aber gar keine Gültigkeitsregel.

Es kann auch nicht am " AND " liegen, denn die vierte Zeile beweist, dass auch das technisch korrekt ist, wenn ich zweimalig den gleichen Filter benutze.

So, jetzt dürft Ihr: Was habe ich übersehen?

Danke,

Lorenz

 

Top of the page Bottom of the page