- 締切済み
Access VBA のテキストボックスの記載について
ACCESS VBA の記載方法について質問です。 テキストボックスの名前を Nenrei とします。ここには必ず数字を入力させたく、何も入れずにエンターキーを押した場合はエラー表示をさせたいと考えています。 If me.T1="" then msgbox "年齢が入力されていません。" End If としますが、空打ちしてもエラー表示が出てきません。 プロパティでT1の書式を数値に変えて、 If me.T1=0 then msgbox "年齢が入力されていません。" End If としても結果は同じです。 どうすればよいか、教えてください。
- みんなの回答 (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 本当は、もう少し入力値のエラートラップをかけるほうが良いのですが...
Private Sub T1_LostFocus() If Not Len(Trim(Me.T1 & "")) Then MsgBox "年齢が入力されていません。" End If End Sub
- m3_maki
- ベストアンサー率64% (296/460)
> If IsNull(Me!Nenrei) Then > MsgBox "年齢が入力されていません。" > End If > 上記の通り、IsNullを使ってもうまくできません・・・・ どのイベントに書きましたか?
- DexMachina
- ベストアンサー率73% (1287/1744)
Accessでは、通常の「空欄」は、「Null」に該当しますので、IsNull関数を使用します。 また、テキストボックスがNullかどうかを見る場合は、コントロールソースではなく テキストボックス自体を参照します。 (「Me」で参照できるのは、フォームの、コントロールとプロパティ) If IsNull(Me!Nenrei) Then MsgBox "年齢が入力されていません。" End If
補足
上記の通り、IsNullを使ってもうまくできません・・・・