Webフォーム(ダイアログ)でRunMenuCommand/メニューコマンドの実行 レコードの保存をするとき、他ユーザによりレコードの編集や削除がされているかもしれない。システムのアラートでもよいのだけどエラー制御とかちょっと検討。
クライアントフォームとは違ってForm.Errorイベントがないから、レコード(SharePointアイテム)の操作はダイアログフォームで実行したほうがよいのだろうな。
該当するテーブルを参照するデータマクロを仕込んでおく。パラメータにIDとかPKを渡して、LookUpRecordデータブロックでレコードを参照し、SharePointアイテムのSharePointEditorとSharePointModifiedDateをデータマクロの戻り値にする。レコードが存在すればそれぞれ値が返り、レコードが存在しなければReturnVarはNullを返す。
ダイアログフォームは、OpenForm/フォームを開くマクロアクションのWhereCondition使ってPKで絞り込んであるから、フォーム読み込み時でPKのフィールドがNullであればレコードが存在しないということになる。
レコードを保存しようとした時、レコードが編集済みもしくは削除済みであった場合、マクロエラーが発生する。MacroError.Numberは2950なので仕分けしてメッセージを表示させる。
但し、データマクロはそれなりに重いのでテーブルに連結されたフォームで使用するのは、どうしてもという時だけだろう。
続き
0 件のコメント:
コメントを投稿