Access VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


330 / 2272 ツリー ←次へ | 前へ→

【12118】ACCESSのVBAのIF文 dan 12/1/31(火) 13:44 質問[未読]
【12119】Re:ACCESSのVBAのIF文 hatena 12/1/31(火) 14:24 回答[未読]
【12121】Re:ACCESSのVBAのIF文 ちん 12/2/2(木) 9:45 発言[未読]
【12124】Re:ACCESSのVBAのIF文 hatena 12/2/3(金) 8:58 発言[未読]

【12118】ACCESSのVBAのIF文
質問  dan  - 12/1/31(火) 13:44 -

引用なし
パスワード
   ACCESSのVBAのIF文で、

If Forms.Aフォーム.TXT1 <> "" And Forms.A.TXT2 is null Then

とすると、is null がひっかかりエラーとなります。

TXT2に値が入力されていなければという条件をつけたいのですが、
どこが間違えてるか教えてください。

【12119】Re:ACCESSのVBAのIF文
回答  hatena  - 12/1/31(火) 14:24 -

引用なし
パスワード
   >If Forms.Aフォーム.TXT1 <> "" And Forms.A.TXT2 is null Then
>
>とすると、is null がひっかかりエラーとなります。

Is Null が使えるのは、クエリ内の式と、Accessのオブジェクト上の式(コントロールソースなど)だけです。VBAでは使えません。

VBAではIsNull関数を使用します。

【12121】Re:ACCESSのVBAのIF文
発言  ちん  - 12/2/2(木) 9:45 -

引用なし
パスワード
   danさん、hatena さん。おはようございます。ちんといいます。
hatenaさんの言う通り、
>Is Null が使えるのは、クエリ内の式と、Accessのオブジェクト上の式(コントロールソースなど)だけです。VBAでは使えません。
>
>VBAではIsNull関数を使用します。
If Forms.Aフォーム.TXT1 <> "" And Forms.A.TXT2="" Then
となります。

以上、参考までに・・・

【12124】Re:ACCESSのVBAのIF文
発言  hatena  - 12/2/3(金) 8:58 -

引用なし
パスワード
   >>VBAではIsNull関数を使用します。
>If Forms.Aフォーム.TXT1 <> "" And Forms.A.TXT2="" Then
>となります。

テキストボックスの場合、デフォルトの設定では、未入力はNullになります。
"" と Null は異なりますので、未入力がないという判定するには、

If Not IsNull(Forms.Aフォーム.TXT1) And Not IsNull(Forms.A.TXT2) Then

ですね。設定によっては、あるいは、VBAで"" を代入など特別なことをすると""になる場合もありますので、"" も Null も判定する場合は、

If Nz(Forms.Aフォーム.TXT1,"")<>"" And Not Nz(Forms.A.TXT2,"")<>"" Then

とします。

330 / 2272 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
1078191
(SS)C-BOARD v3.8 is Free