PB 電子会議室

コメント

発言No. 更新日 題名(クリックすると発言内容と関連するコメントが表示されます)
15566 01/06/21 09:36:09 RE(2):PB7.0: Number型のエディット項目に数字以外入力できなくするには By きん
15564 01/06/21 09:10:14 RE(1):PB7.0: Number型のエディット項目に数字以外入力できなくするには By 川端
15562 01/06/21 00:40:15 PB7.0: Number型のエディット項目に数字以外入力できなくするには By きん

カテゴリ:スクリプトの記述
日付:2001年06月21日 09:10 発信者:川端
題名:RE(1):PB7.0: Number型のエディット項目に数字以外入力できなくするには

きんさん、おはようございます。

>dw上のNumber型エディットカラムにアルファベットを入力し、Enterを押下すると「とてつもない数字」に変換
されてし
>まう現象に悩まされています。
>Deleteキー押下後にEnterを押下されても「とてつもない数字」になってしまいます。

数値のみを入力させたい場合は、エディットマスク属性にするのが手っ取り早いです。
但し、PowerBuilderのエディットマスクは、少々癖がありますが…。

あとは、ItemChangedイベントとItemErrorイベントに以下のような処理を施すのでは駄目でしょうか?

---------------------------
(ItemChangedイベント)

IF dwo.name = [判断したいカラム名] THEN
 IF IsNull( data ) OR IsNumber( data ) = FALSE THEN
  // メッセージボックスを画面に出したい場合はここに記述する
  return 1
 END IF
END IF

---------------------------
(ItemErrorイベント)

// 余計なエラーメッセージを出さないために1を返す
return 1


---------------------------
ここでのポイントは、対象のカラムのプロパティ「空文字列をNULLとする」にチェックを
付けておく事です。そうすると、ItemChangedイベントでIsNull関数を利用できますから。

私も、データウィンドウの入力で、数値だけを入力させようと色々努力をしてきたのですが、
最近では「たとえ英文字や記号を入力されてもしょうがない」と思ってます。
結果的に、数値以外の値が残らなければ良いのですから。



付加情報:

PowerBuilder Version (記載なし)

Client SoftWare

OS Windows NT 4.0
DBMS Oracle SQL*Net 8
Browser (記載なし)

Server SoftWare

OS (記載なし)
DBMS Oracle 8.0
WebServer (記載なし)

PowerSpaceの運営は、パワーフューチャー株式会社が行っております。
Copyright © 2013 Power Future Co., Ltd.