投稿時間:2002/09/24(Tue) 15:40 投稿者名:ラルフ
Eメール:
URL :
タイトル:数値入力・文字入力
はじめたばかりの私にとって、非常に助かるこのサイト。 利用させてもらっています。今回、下記に挙げるような問題を抱えており、
MSFlexGrid内の「数字入力以外は認めない」部分を参考にしようと しましたが、自分の思うような動作をしないなど、お手上げになって しまい、書き込んだ次第です。
VS-FlexGridを使い、Oracleで作った2つのテーブルからデータを 取り込んで表示させているのですが、数字以外の入力は認めない (0〜100とマイナス値あり)、文字入力以外は認めないイベントを作成 したいのですが、ヘルプを用いて、ValidateEdit(ByVal Row As Long, ByVal Col As Long, Cancel As Boolean)を使うと、正しい値をはじく だけでなく、正しい値さえもはじいてしまうのです。
参考にしたのは
Sub fg_ValidateEdit(ByVal Row As Long, _ ByVal Col As Long, Cancel As Boolean) Dim c$ ' 各列に異なる正当性検査を定義します。 Select Case Col Case 1 ' 列1には文字列入力だけを許可 c = Left$(fg.EditText, 1) If Ucase$(c) < "A" Or UCase$(c) > "Z" Then _ Beep: Cancel = True Case 2 ' 列2には0より大きい数値の入力だけを許可 If Val(fg.EditText) <= 0 Then _ Beep: Cancel = True End Select End Sub
です。どうすれば自分の願いどおりの動作となるのか、いろいろと試したのですが、 結果は同じ・・・。もう、手段を探せないところまできているのですが、 なにか、よい方法など、ありませんでしょうか?
|