締切り済みの質問
ACCESS VBA の記載方法について質問です。
テキストボックスの名前を Nenrei とします。ここには必ず数字を入力させたく、何も入れずにエンターキーを押した場合はエラー表示をさせたいと考えています。
If me.T1="" then
msgbox "年齢が入力されていません。"
End If
としますが、空打ちしてもエラー表示が出てきません。
プロパティでT1の書式を数値に変えて、
If me.T1=0 then
msgbox "年齢が入力されていません。"
End If
としても結果は同じです。
どうすればよいか、教えてください。
投稿日時 - 2007-11-04 08:46:24
0人が「このQ&Aが役に立った」と投票しています
回答(4件中 1~4件目)
テキストボックスT1の「更新後処理」イベントプロシージャに
Private Sub T1_AfterUpdate()
If Nz(me.T1,0)=0 then
msgbox "年齢が入力されていません。"
End If
End Sub
で如何でしょう。
ただし、「0歳」の入力もOKにするなら、
Private Sub T1_AfterUpdate()
If Nz(me.T1,"")="" then
msgbox "年齢が入力されていません。"
End If
End Sub
本当は、もう少し入力値のエラートラップをかけるほうが良いのですが...
投稿日時 - 2007-11-05 20:44:53
Accessでは、通常の「空欄」は、「Null」に該当しますので、IsNull関数を使用します。
また、テキストボックスがNullかどうかを見る場合は、コントロールソースではなく
テキストボックス自体を参照します。
(「Me」で参照できるのは、フォームの、コントロールとプロパティ)
If IsNull(Me!Nenrei) Then
MsgBox "年齢が入力されていません。"
End If
投稿日時 - 2007-11-04 10:25:04
補足
上記の通り、IsNullを使ってもうまくできません・・・・
投稿日時 - 2007-11-04 20:17:31