MS Access Tips/Sample and VBA and Blog customize etc...

パラメータクエリで該当データがない場合も「該当無し」を表示する

テーブルに下図のようなデータが入っているとします。

NoDataDisplayTable.png

これよりパラメータをクエリを作成して、入荷日 で抽出したいとします。

指定した日付のデータが存在するときは、そのまま該当データを表示します。

ExistsDataQuery.png

存在しない場合は、下図のように表示します。

NoDataQuery.png

上記のようなことを実現するクエリを紹介します。

難易度:

基本的な考え方は、パラメータで指定した日付のレコードを作成してそれと、元のテーブルとはユニオンクエリで連結します。そうすれば、該当するデータが無くても、その日付のレコードが表示されます。

問題は、該当するデータがあった場合です。そのままでは、「該当無し」のレコードも表示されてしまいますので、それを抽出しないようにするのに頭を悩ませます。

元からあったデータかクエリで生成したデータ化で並び替えて、トップ値を利用してクエリで生成したデータを排除してみました。

サブクエリのEXISTSでテーブルに該当データがあるかどうか調べて、ある場合は生成したデータを排除します。


拍手する

Leave a reply






Trackbacks

trackback URL
http://hatenachips.blog34.fc2.com/tb.php/243-677df719
該当の記事は見つかりませんでした。