2016-05-20 2 views
0

Ich habe eine Access-Datenbank, die eine Tabelle mit Datum als eines der Felder enthält. Ich kann ein Formular erstellen, das es dem Benutzer ermöglicht, ein Startdatum und ein Enddatum einzugeben und dann diese in einer Abfrage zu verwenden, um das Datum für nur Datensätze zwischen diesen Daten zu filtern. Aber ich möchte das Enddatum optional machen. Wenn der Benutzer nur das Startdatum eingeben würde, würde die Abfrage bei Datensätzen zurückgeben, die größer als dieses Datum sind. Ich versuche, dies mit einer Abfrage und ohne in VBA zu gehen, aber nicht sicher, ob dies getan werden kann.Zugriffsparameterabfrage mit optionalem zweiten Parameter

Ich habe so etwas versucht, aber es hat nicht funktioniert ... Ich habe eine Fehlermeldung erhalten, die besagt, dass die Syntax nicht korrekt war oder ich überhaupt keine Ergebnisse erhalten habe.

im Datumsfeld Kriterien habe ich versucht, IIF (isNull ([Formulare]! [Frmdateselect]! [Enddate]), (> = DatWert ([Formulare]! [Frmdateselect]! [Startdatum])), ((> = DatWert ([Formulare]! [frmdateselect]! [Startdatum])) UND (< = DatWert ([Formulare]! [frmdateselect]! [enddate]))))

Jede Hilfe wäre toll

Antwort

1

Haben Sie versucht, die IsNUll durch die Nz-Funktion zu ersetzen?

IIF(Nz([Forms]![frmdateselect]![enddate]),0), 
([Forms]![frmdateselect]! [enddate]), 
(>=DateValue([Forms]![frmdateselect]![startdate])), 
((>=DateValue([Forms]![frmdateselect]![startdate])) AND 
(<=DateValue([Forms]![frmdateselect]![enddate]))))