【小技】セレクション型リストボックスでOldを処理する
【小技】セレクション型リストボックスでOldを処理する
通常,入出力フォームに表示されたフィールドは,Oldでロードされた時点の値を照会することができます。たとえば,更新された値をOn Data Changeで評価し,不正な値であれば,Oldの値に戻す,といったことができます。
ところか,セレクション型のリストボックスは特殊なようで,On Data Changeが発生するタイミング(セルの移動)ではすでにフィールドが上書きされており,Oldからは新しい値が返されます。ですから,サブフォームで有効だった前述の方法が通用しません。
回避策として,On Display Detailを下記のように活用できるようです。(列のオブジェクトメソッド)
ところか,セレクション型のリストボックスは特殊なようで,On Data Changeが発生するタイミング(セルの移動)ではすでにフィールドが上書きされており,Oldからは新しい値が返されます。ですから,サブフォームで有効だった前述の方法が通用しません。
回避策として,On Display Detailを下記のように活用できるようです。(列のオブジェクトメソッド)
- Code:
If(Form event=On Display Detail) & Modified(Self->)
$o:=Old(Self->)
$s:=Self->
//データは更新されようとしている
End if
miyako- 投稿数 : 487
登録日 : 2016/07/05
Permissions in this forum:
返信投稿: 不可