一人情シスのつぶやき

名古屋の中小企業で一人情シスをしている作者が、日々の業務で思うことをつぶやきます。

AccessでのYes/No型を外部結合してGroupByすると「カレントレコードがありません」

タイトルの通り。

Accessで、OLEDB経由でもAccessで直接クエリをたたいても「カレントレコードがありません」と表示されるエラーに遭遇し、SQLを切り分けたところ、Yes/No型のフィールドが原因と判明。 ググってみると、Yes/No型を外部結合してGroupByすると、Nullが発生した場合に処理できず、このようなエラーが出るらしい。

www.pcreview.co.uk

対処法は、リンク先にある通り、SELECT、GROUP BYの双方をNzでNullの場合の値を指定すること。

OLEDB接続の場合はNz関数が利用できないので、IIfとIsNullを組み合わせる。

Access嫌だ...