Veteran
Beiträge: 106

| 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
|