2017-12-27 41 views
0

今はうまく動作するクエリ実行があります。それは完了したすべてのトランザクションをリストします。私は、フォームにキャンセルされた日付が記載されているトランザクションをフィルタリングするためにクエリを使用するチェックボックスを追加したいと思います。私はこのようなクエリにCancelDate列に条件を追加しようとしました:MS Access - チェックボックスに基づいてクエリ条件を変更する

=IIf(Forms![Show DPA List]![chkShowCanc] =true,"*","IsNull") 

をそして私は「この式が正しく入力されていません」というエラーを取得しておく....

良い方法はありますこれに近づく?

+0

式でエラーが発生しなかった場合でも、式が日付/時刻型フィールドにテキストパラメータを返すため、「データ型の不一致」エラーが発生します。私は、CancelDateが日付/時刻型であると仮定しています。 – June7

+0

私は決して動的パラメータ化クエリを使用しません。 VBAを使用してフィルタ条件を作成し、Filterプロパティを適用することを推奨します。 – June7

+0

完全なSQLバージョンのクエリを投稿して、この式の使い方を確認してください。ここ – Parfait

答えて

0

次のエラーはありませんが、それはまた、すべてのレコードを返しません、ワイルドカードは、フィールド内のデータとのみを返します。

LIKE IIf([Forms]![Show DPA List]![chkShowCanc], "*", Is Null)

あなたはすべてのレコードのみを持つものの間で選択しますヌル、クエリのフィールドを計算します。

F1: IIf([CancelDate] Is Null, "NoDate", "HasDate")

は、そのフィールドにフィルタ基準を適用します。

LIKE IIf([Forms]![Show DPA List]![chkShowCanc], "NoDate", "*")

関連する問題