Ich versuche einen Parameter vom Typ Date (Access) an eine Parameterabfrage zu übergeben und bekommen dann bei .Openrecordset o.g. Meldung.
Die zugrundeliegenden Tabellen liegen auf einem SQL-Server.
Führe ich die Abfrage in Access direkt (also ohne VBA) aus, dann bekomme ich nach Eingabe eines gültigen Datums eine andere Meldung: "Dieser Ausdruck wurde falsch angegeben oder ist zu komplex ..."
Der SQL-Text ist wie folgt:
PARAMETERS [@Suchkrit] DateTime; SELECT DISTINCT [proband_name] & ", " & [proband_Vorname] & ", *" & [proband_gebdatum] AS Personalien, Probanden.ID_Proband FROM (Probanden LEFT JOIN GA_Auftraege ON Probanden.ID_Proband = GA_Auftraege.GA_Proband_Nr) LEFT JOIN Rechnungen ON GA_Auftraege.ID = Rechnungen.RE_AuftragNr WHERE (((GA_Auftraege.GA_Unfalltag)=[@Suchkrit])) OR (((GA_Auftraege.GA_Auftrag_erhalten)=[@Suchkrit])) OR (((GA_Auftraege.GA_abgeschlossen)=[@Suchkrit])) OR (((GA_Auftraege.GA_bezahlt)=[@Suchkrit])) OR (((Rechnungen.RE_Rechnung_Datum)=[@Suchkrit])) OR (((Probanden.Proband_GebDatum)=[@Suchkrit]));
Alle Datumsfelder sind in den SQL-Tabellen vom Type 'datetime2'
Ergänzung: Habe in den SQL-Tabellen alle Datumsspalten auf den Typ "Date" geändert - keine Änderung.