プロが教える店舗&オフィスのセキュリティ対策術

Access VBAで、数字だけをチェックする方法。

お世話になっております。
Access2002 VBAで、テキストボックスに入力された内容が、
数字(整数のみ)だけかをチェックしたいのです。

しかし、IsNumeric使用すると、
例>
IsNumeric("1000,")=True
IsNumeric("1000.")=True
IsNumeric("1000+")=True
となってしまいますし、

Valを使用すると、0(ゼロ)のチェックが出来ません。

ちょっと思いつかないので、
If txt_Word.Value <> Trim(Str(Val(txt_Word.Value)))) Then
'エラー処理
End If
とか、
ループで回し、1文字ずつIsNumericするか・・・とか、馬鹿なことを思ってしまっています。

ちなみに、当テキストボックスは、パターンによって文字も許容したりするので、
書式設定で数字のみ入力は出来ません。

何か、本当に数字のみかをチェックするよい方法はありますか?
よろしくお願いいたします。

A 回答 (2件)

正規表現で\dをチェックするとか。



参考URL:http://codezine.jp/article/detail/1655
    • good
    • 1
この回答へのお礼

ありがとうございました。参考になりました。

Set rege = New RegExp
rege.Pattern = "^\d+$"
If rege.Test(txt_Word.Value) = False Then
・・・
End If

これで、スマートに期待通り実現できました。

お礼日時:2010/01/25 12:00

VBAはほとんど知らない(使わない)ですが。


クエリで試験してみました

aa: Int(10.1) 許される
aa: Int(10.1+) 許されない

整数であることのチェックも含めエラー処理と組み合わせては如何でしょうか?
    • good
    • 0
この回答へのお礼

ご返答、ありがとうございます。
そうですね。整数チェックの意味合いもかねることが出来そうです。

お礼日時:2010/01/25 12:01

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています