WINDOWS及びサーバー関連の話題、TIPS & テクニック の一覧に戻る

Access の SQL にて CDate を使用する際にヌルのエラーを回避する方法

Access の SQL にて CDate を使用する際にヌルのエラーを回避する方法


Access の SQL には、andalso が無いため、CDateでのヌル等のエラーを回避するためには、
IIf を使用します。

IIf は、慣れると使い易い命令です。(Excelのワークシート関数では、if が iif のような構文です)

IIf (条件式,真の場合,偽の場合)

とします。

つまり、フィールド「登録日」がテキスト型であるとして、whereの中で日付として扱いたい時、Access SQL では、

select * from [tablename] where Isdate(登録日) andalso CDate(登録日) >= #2025/06/21#

のような構文が使えないため、

select * from [tablename] where IIf (Isdate(登録日) , CDate(登録日) >= #2025/06/21# , False)

のように記述します。

サブクエリを使用する方法もありますが、私は IIf を使用しています。サブクエリを使用する方法は以下です。

SELECT * FROM (
SELECT * FROM tablename WHERE IsDate(登録日) = True) AS SubQuery
WHERE CDate(登録日) >= #2025/06/21#;

使いやすい方を採用してください。

以上で、説明は終了です。




WINDOWS及びサーバー関連の話題、TIPS & テクニック の一覧に戻る

Information of This Page
Access の SQL にて CDate を使用する際にヌルのエラーを回避する方法 pubdate:


© 2025
Author : FloatGarden