• 締切済み

Access VBA のテキストボックスの記載について

ACCESS VBA の記載方法について質問です。 テキストボックスの名前を Nenrei とします。ここには必ず数字を入力させたく、何も入れずにエンターキーを押した場合はエラー表示をさせたいと考えています。  If me.T1="" then msgbox "年齢が入力されていません。" End If としますが、空打ちしてもエラー表示が出てきません。 プロパティでT1の書式を数値に変えて、  If me.T1=0 then msgbox "年齢が入力されていません。" End If としても結果は同じです。 どうすればよいか、教えてください。

みんなの回答

noname#79209
noname#79209
回答No.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 本当は、もう少し入力値のエラートラップをかけるほうが良いのですが...

noname#140971
noname#140971
回答No.3

Private Sub T1_LostFocus()   If Not Len(Trim(Me.T1 & "")) Then     MsgBox "年齢が入力されていません。"   End If End Sub

  • m3_maki
  • ベストアンサー率64% (296/460)
回答No.2

> If IsNull(Me!Nenrei) Then >   MsgBox "年齢が入力されていません。" > End If > 上記の通り、IsNullを使ってもうまくできません・・・・ どのイベントに書きましたか?

  • DexMachina
  • ベストアンサー率73% (1287/1744)
回答No.1

Accessでは、通常の「空欄」は、「Null」に該当しますので、IsNull関数を使用します。 また、テキストボックスがNullかどうかを見る場合は、コントロールソースではなく テキストボックス自体を参照します。 (「Me」で参照できるのは、フォームの、コントロールとプロパティ) If IsNull(Me!Nenrei) Then   MsgBox "年齢が入力されていません。" End If

Star-X
質問者

補足

上記の通り、IsNullを使ってもうまくできません・・・・