■13865 / 10階層) |
更新を判定出来ますか?
|
□投稿者/ ONnoji -(2023/07/12(Wed) 15:24:22)
| > 項目 製品長(数値) と 項目 製品幅(数値) の情報を更新した時のみ > 更新日(日時) を今日の日付に変更する事は可能でしょうか?
簡単に仕掛けを解説をします。
よろしければご参考にしてください。
<手続き一覧>
名札 メイン
cmdStartupClick
txtField_24::入力前
txtField_24::入力後 │ └ prc項目値代入実行
■名札 メイン
変数宣言 局所,文字列{ &mString }
局所変数を1つ宣言しています。
■入力前と入力後のイベントハンドラ
txtField_1::入力前/txtField_1::入力後 〜 txtField_100::入力前/txtField_100::入力後 とそれぞれ100個あります。 コピペではなく事前に印字コマンドを利用してまとめて作ったものを読み込んだものです。
以下の例はテキストオブジェクト:txtField_24 のイベントハンドラです。
手続き定義開始 txtField_24::入力前(参照 文字列 &編集文字列) &mString = &編集文字列 トレース出力 &this, " ", _&mString, " 入力前" 手続き定義終了
手続き定義開始 txtField_24::入力後(参照 文字列 &編集文字列,長整数 &モード,参照 長整数 &入力継続) トレース出力 &this, " ", _&mString, " ", _&編集文字列, " 入力後" 手続き実行 prc項目値代入実行( &this, &mString, &編集文字列 ) 手続き定義終了
手続き定義開始 prc項目値代入実行( 文字列 &objectName, 文字列 &lastString, 文字列 &nowString ) 変数宣言 自動,文字列{ &icon, &title = "prc項目値代入実行( )", &msg } 変数宣言 自動,文字列{ &source } トレース出力 &title + " 引数:&objectName = " + &objectName + " 引数:lastString = " + &lastString + " 引数:&nowString = " + &nowString
オブジェクト操作 &objectName{ &source = ソース } if ( &lastString <> &nowString ) 項目値代入 [更新日] = #日時値 トレース出力 &title + " 項目名" + &source + " の値が変更されたので、[項目値代入 [更新日] = #日時値]を実行しました" else トレース出力 &title + " 項目名" + &source + " の値は変更されていません" end
手続き定義終了
■開始時実行コマンドボタンから実行するプロシージャ
手続き定義開始 cmdStartupClick( ) 変数宣言 自動,文字列{ &icon, &title = "cmdStartupClick( )", &msg } 変数宣言 自動,文字列{ &objectName } 変数宣言 自動,文字列{ &source } 変数宣言 自動,整数 { &cnt }
&msg = &EZWmFieldList1 &icon = "i" **手続き実行 INFprcMsgPause( &icon, &title, &msg )
&cnt = 1 &objectName = #対応文字列( &EZWmFieldList1, &cnt ) 繰り返し ( &objectName <> #u )
オブジェクト操作 &objectName{ &source = ソース } **トレース出力 _&cnt, " ", _&objectName, " ", _&source
**トレース出力 " if ( &source = ""[製品長]"" .or &source = ""[製品幅]"" ) = " + #str( ( &source = "[製品長]" .or &source = "[製品幅]" ) ) if ( &source = "[製品長]" .or &source = "[製品幅]" )
オブジェクト操作 &objectName{ 入力前 = 1, 入力後 = 1 } end
&cnt = &cnt + 1 &objectName = #対応文字列( &EZWmFieldList1, &cnt ) 繰り返し終了
手続き定義終了
|
|