フォームに従ってクエリ出力を取得するために、ms-access でフォームを作成しました。
アクセスクエリのSQLは次のとおりです。
SELECT w.* FROM work_log1 AS w, [task name] AS t WHERE t.task_name=forms!
[Accenture QC]!combo4 And t.task_id=w.task_name And w.activity_start_date Between
forms ![Accenture QC]!text0 And forms![Accenture QC]!text11
and w.[TAT] = forms![Accenture QC]!combo46
これですべて正常に動作していますが、combo46 が空白の場合は最後のフィルター行を削除したいと考えています。
私はどういうわけか次のようにSQLを作成しました:
and iif(forms![Accenture QC]!combo46 = '', t.task_id=w.task_name ,
t.task_id=w.task_name and w.[TAT] = forms![Accenture QC]!combo46)
これは正しい方法ですか? この TAT フィルターのみを適用する場合はどうなりますか?
つまり、次のようなものを書く方法です。
"SELECT w.* FROM work_log1 AS w where (w.[TAT] = forms![Accenture QC]!combo46
OR forms![Accenture QC]!combo46 Is Null)"
ありがとう