• ベストアンサー

VBAによる「IF」ステートメントの書き方について

ACCESS2000を使用してます。 マクロの条件欄に「Forms!名簿一覧!氏名 Is Null」と記述して、これをツールの「マクロをVisual Basic に変換」を行うと「If (Eval("Forms!名簿一覧!氏名 Is Null")) Then ・・・・・」と変換されます。 このままで問題なく動作しますのでOKですが、これをVBAで単に「If Forms!名簿一覧!氏名 Is Null Then ・・・・・」と記述するとエラーになります。この書き方でどこが悪いのか教えて頂ければ幸いです。よろしくお願い致します。

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

  • ベストアンサー
  • nda23
  • ベストアンサー率54% (777/1416)
回答No.1

Nullかどうか調べるにはIsNull関数を使います。 よって下記のように記述するのが正しい。 If IsNull(Forms!名簿一覧!氏名) Then Nullと空文字列は区別されるので、私は以下の ように書くことが多いです。 If Nz(Forms!名簿一覧!氏名, "") = "" Then 因みにObject型のデータでは無効かどうかは 以下のように記述します If オブジェクト Is Nothing Then

nzmsys
質問者

お礼

nda23さんへ(piroin654さんへ) どうもありがとうございました。 上手くいきました。 最近になってVBAを勉強し始めましたので分からないことだらけです。 今後ともご教授よろしくお願い申し上げます。

その他の回答 (2)

  • piroin654
  • ベストアンサー率75% (692/917)
回答No.3

失礼しました。秒差でNo1さんと回答がかぶったようです。

  • piroin654
  • ベストアンサー率75% (692/917)
回答No.2

If IsNull(Forms!名簿一覧!氏名) Then では?

関連するQ&A