• ベストアンサー

access vbaでクエリデータの中にNULLがあるときにメッセージを表示する方法

access vbaでデータベースの商品マスタテーブル(リンクしたもの)と手動で取り込んだ受注テーブルを比較してマスタに登録のない品番をNULLとして表示するクエリを作ったのですが、vbaを使って「品番チェック」というボタンを押しただけで受注テーブルにNULLがあるか否かをMsgboxで表示させたいんですが、詳しい書き方がわかりません。 どなたか教えていただけないでしょうか。 出来ればNULLになった品番がメッセージボックスにでればベストなんですが・・・ よろしくおねがいします。

質問者が選んだベストアンサー

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.3

どれだけIsnullの行があるかわからない(少数予想としても) MsgBoxで出すのは、1レコードごとになりやすい、のでしつこいのでは。 だからIsNULLを条件にしてクエリをつくり(実際はSQL文が実行されるのと等しい)、そのクエリをVBAの処理の始めに実行してはどうでしょう。 VBAで、と言う質問のリクエストの割りに、「詳しく教えていただきたいのですが・、」はアンバランスだ。 ーー 例データ 受注テーブル(クエリでも同じ) ID 商品コード 受注数 1 112 2 114 12 3 124 4 126 22 クエリのデザイングリッドで 受注数 受注 抽出条件 Is Null(Isのあと1スペース空ける) 他のフィールドは略。 実行結果 ID 商品コード 受注数 1 112 3 124 SQLは SQLビューで SELECT 受注.ID, 受注.商品コード, 受注.受注数 FROM 受注 WHERE (((受注.受注数) Is Null)); ーー モジュールから呼び出し。 Sub test13() DoCmd.OpenQuery "受注 クエリ", acViewNormal End Sub あるいは、この後の処理のため、ADOなどで1レコードずつを捉えられるよう呼び出せるようにしたいのか。

その他の回答 (2)

  • kmetu
  • ベストアンサー率41% (562/1346)
回答No.2

詳しくと言われても… 受注テーブルの品番にNulのレコードlがあるんですよね レコードを順繰りに検索して品番がNullのレコードから必要なフィールドの内容を MsgBoxで表示すればいいんじゃないですか。

  • kmetu
  • ベストアンサー率41% (562/1346)
回答No.1

IsNull()で調べてTRUEだったらMsgBoxで表示すればいいのではないですか。

anman0201
質問者

お礼

アドバイスありがとうございます。 出来ればもっと詳しく教えていただきたいのですが・・・ 初心者なもので・・・すいませんおねがいします。

関連するQ&A