Microsoft Access Club >AccessTips >このページ >次頁 < 前項  サイト内検索


データが数値、数字であるか否かを判定 - IsNumeric() 関数:AccessTips015



フォーム上のテキストボックス入力時に、どうしても数値だけを入力させたい時があります。 テーブルと連携していれば、そのフィールドの書式を数値型にすれば文字列の入力などはできなくなります。しかし、非連結のテキストボックスの場合は、チョット大変です。 ここでは、 数値以外のデータを入力されないようにチェックするAccessの組み込み関数 IsNumeric() 関数 をご紹介します。

非連結のフォームの作成

非連結フォームを作成し、テキストボックス(txt会員番号入力)を配置します。# 連結フォーム場合でも同様の処理で対処できます。

更新前処理イベントプロシージャの作成

テキストボックス(txt会員番号入力)の更新前処理イベントに以下のようなプロシージャを記述します。

Private Sub txt会員番号入力_BeforeUpdate(Cancel As Integer)

    If IsNumeric(Me.txt会員番号入力) = False Then ' --- A
        MsgBox "会員番号は数字で入力して下さい。", vbCritical
        Cancel = True ' --- B
    End If
    
End Sub
解説
  1. IsNumeric関数は数値として認識できる場合はTrueを、出来ない場合はFalseを返します。使い方は、IF関数と組み合わせて使用するのが一般的です。
  2. 引数CancelにTrueを代入することでこれら処理を取り消します。

実行結果

会員番号入力フォームをフォームビューで開き、try012を入力し更新します。

以下のメッセージが立ち上がり、更新不能になります。

補足

更新する前にチェックするイベントとして更新前処理イベントが用意されています。このイベントで注意することは、値の代入ができないことです。今回の場合、間違った入力 try012 を消去することはこのイベントではできません。

関連ページ

 2004/09/19

ページの先頭へ 前ページへ戻る

 


データが数値、数字であるか否かを判定 - IsNumeric() 関数:AccessTips015


 

-Microsoft Access Club-