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

締切り済みの質問

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

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

QNo.3487624

困ってます

0人が「このQ&Aが役に立った」と投票しています

[  前へ  |  次へ ]

回答(4件中 1~4件目)

ANo.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

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

投稿日時 - 2007-11-05 08:46:25

ANo.2

> If IsNull(Me!Nenrei) Then
>   MsgBox "年齢が入力されていません。"
> End If
> 上記の通り、IsNullを使ってもうまくできません・・・・

どのイベントに書きましたか?

投稿日時 - 2007-11-04 20:54:18

ANo.1

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

あわせてチェックしたい
  • エクセル VBA MsgBox ...
  • Msgboxのループ ...
  • 連続印刷中のMsgBox ...
PR
【回答募集中】花粉にひと言、物申す![ 詳細 ]

OKWaveのオススメ

教えて弁護士さん!

お金の悩みQ&A特集はこちら