テキストボックスの数値入力範囲の確認 : Access

数値を入力するテキストボックスは、まず KeyPress イベントで数値のみ入力できるようにしておくと、余計な文字が入力されていないかチェックする必要がなくなるため、いいかと思います。

数値の範囲は、 Exit イベントでチェックし、範囲外ならメッセージを表示し、テキストボックスにフォーカスを戻します。
下記のコードには入れていませんが、ロング型を超える数値が入力された場合エラーとなってしまうので、On Error を使った方
がさらに安全です。



BackHome BackTips Backメニュー

[Accessフォーム実行画面]
入力時のエラーメッセージ

■ Access VBA 実行コード

Option Compare Database
Option Explicit

Private Sub テキスト4_Exit(Cancel As Integer)
    Dim n As Long
    If Me!テキスト4.Text = "" Then
        Exit Sub
    End If
    n = Val(Me!テキスト4.Text)
    '入力範囲のチェック
    If n < 18 Or n > 60 Then
        MsgBox "年齢は18~60才の範囲で入力してください。"
        'フォーカスを移す
        Me!テキスト4.SetFocus
    End If

End Sub

'キー入力時イベント
Private Sub テキスト4_KeyPress(KeyAscii As Integer)
    'BackSpaceキーは無視
    If KeyAscii = 8 Then
        Exit Sub
    End If
    '数字キーか判定
    If KeyAscii < 48 Or KeyAscii > 57 Then
        '数字キーでない
        KeyAscii = 0
    End If
End Sub

BackHome BackTips Backメニュー

Copyright(C) FeedSoft