tagCANDY CGI VBレスキュー(花ちゃん) - VBレスキュー(花ちゃん)の投稿サンプル用掲示板 - Visual Basic 6.0 VB2005 VB2010
VB2005用トップページへVBレスキュー(花ちゃん)のトップページVB6.0用のトップページ
VBレスキュー(花ちゃん)の投稿サンプル用掲示板
     サンプル投稿用掲示板  VB2005 〜 用トップページ  VB6.0 用 トップページ
Textboxで入力チェック(整数部・小数点以下の桁数)等(VB6.0) ( No.0 )  [親スレッドへ]
日時: 2009/12/27 12:52
名前: 花ちゃん

***********************************************************************************
* カテゴリー:[テキストボックス][基本コード][]                                  *
* キーワード:書式,フォーマット桁区切り,,,,                                   *
***********************************************************************************

元質問:Textboxを使用した入力チェックの手段 - ゆづき  2004/04/08-14:18 No.8608

VBのtextboxによる入力フィールド上で、入力のチェックを実施したいと考えております。
入力チェックに際しては、
・整数部9桁+小数点以下2桁までの入力を有効とし、整数部が9桁よりも大きい場合や、小数点以下が3桁以降となる場合には入力エラーとする。

======================================
必ず、下記の一連のスレッドもご覧下さい。
http://hanatyan.sakura.ne.jp/logbbs/wforum.cgi?mode=allread&no=8608&page=240#8633
 --- by 花ちゃん ---
======================================

--------------------------------------------------------------------------
Re^6: これだけでも良かった - 黒影  2004/04/09-14:56  No.8633
--------------------------------------------------------------------------

もっとスマートなコードにならないかなと思って
「Trim」の位置を変えたりしてデバッグしてたら、
下記だけで良かったんだ...

Private Sub Command1_Click()

    Dim l       As Integer
    Dim p       As Integer
    Dim strChar As String

    '数値チェック
    If Not IsNumeric(Text1.Text) Then
        MsgBox "正しい値を入力して下さい。", vbExclamation, "入力エラー"
        Exit Sub
    End If
    
    strChar = Format(Trim(Text1.Text), "#.###")
        
    l = Len(strChar)
    
    '小数点位置取得
    p = InStr(strChar, ".")

    '整数部チェック
    If Len(Mid(strChar, 1, p - 1)) > 9 Then
        MsgBox "整数部は9桁以内!!", vbExclamation, "入力エラー"
        Exit Sub
    End If
    
    '小数部チェック
    If Len(Mid(strChar, p + 1, l - p)) > 2 Then
        MsgBox "小数部は2桁以内!!", vbExclamation, "入力エラー"
        Exit Sub
    End If

    Label1.Caption = Format(strChar, "#.00")
    
End Sub



 [スレッド一覧へ] [親スレッドへ]