| 佐田 守弘さんこんにちはコメントありがとうございます。
> 重複禁止索引が設定されている表で直前値や直前行の複写を行えば、
> 原理的に重複禁止エラーが発生します。
> まずはこの部分の改善が第1の様な気がします。
重複禁止は既に解消済ですが、確認や表示を何回も押すのが煩わしかったので
投稿しましたが、処理中止のオプション指定と更新モードの設定で問題は
解決しました。
必要ないかもしれませんが、設定したイベントを記載します。
手続き定義開始 フォーム::行挿入エラー(長整数 &エラーコード,以下省略
手続き実行 日付訂正(&エラーコード,&エラーメッセージ,&処理中止)
手続き定義終了
手続き定義開始 フォーム::行訂正エラー(長整数 &エラーコード,以下省略
call 日付訂正(&エラーコード,&エラーメッセージ,&処理中止)
手続き定義終了
proc 日付訂正(long &errcode,refer Str &errmeseji,参照 Long &メッセージ表示)
if (&errcode=1147)
項目値代入 [日付]=#日時値(#STR(#年(#日時値))+"/"+#STR(#月(#日時値))+"/"+#STR(#日(#日時値))\
+" "+#STR(#時(#時刻,0))+":"+#STR(#分(#時刻,0))+":"+#STR(#秒(#時刻,0))+".005")
* &errmeseji="日付を訂正しました。もう一度表示ボタンを押して下さい"
* 0 デフォルト(指定しない場合変更したメッセージを表示) 2 行挿入,訂正を破棄する
&メッセージ表示=1 /* 1 メッセージを表示しない を選んで確認を省いた */
method @フォーム.更新モード設定( 0 ) /* これを付加して表示ボタンの2度押しを回避 */
end
手続き定義終了
|