親子、Rollbackについて
- このフォーラムに新しいトピックを立てることはできません
- このフォーラムではゲスト投稿が禁止されています
nkmt
投稿数: 1668
![長老 長老](../../uploads/rank3dbf8eb1a72e7.gif)
ROLLBACKについてお教え下さい。
MSSQLがデータベースです。
親タスクでトランザクションモード=物理
トランザクション開始=レコード前の前
ロック方式=入力時
子タスクサブフォームで、親タスクにぶらさげる子レコードをメンテします。
トランザクションモード=親と同一
トランザクション開始=タスク前の前
ロック方式=入力時
親タスクの更新確認を Yes にしました。
子タスクの情報だけをメンテした場合も親タスクで
更新確認が表示されるように、子でメンテが発生したら
親のレコード強制後処理が通るよう子タスクで変数を
更新しています。
親タスクを閉じる際、更新しますか?が表示されますが、
そこで「いいえ」 を選ぶと、子タスクのメンテした結果も
無かった事にしたいです。
親タスクに
イベント、変更取消(O)
アクション 式=Rollback('TRUE'Log,0)
と記述しました。
以上により
更新=Yes/Noのどちらを選んでも、子タスクでメンテしている内容が
保存される/保存されないが意図した通りに出来ました。
使い方として、おおよそ間違いは無いでしょうか?
よろしくお願い申し上げます。
MSSQLがデータベースです。
親タスクでトランザクションモード=物理
トランザクション開始=レコード前の前
ロック方式=入力時
子タスクサブフォームで、親タスクにぶらさげる子レコードをメンテします。
トランザクションモード=親と同一
トランザクション開始=タスク前の前
ロック方式=入力時
親タスクの更新確認を Yes にしました。
子タスクの情報だけをメンテした場合も親タスクで
更新確認が表示されるように、子でメンテが発生したら
親のレコード強制後処理が通るよう子タスクで変数を
更新しています。
親タスクを閉じる際、更新しますか?が表示されますが、
そこで「いいえ」 を選ぶと、子タスクのメンテした結果も
無かった事にしたいです。
親タスクに
イベント、変更取消(O)
アクション 式=Rollback('TRUE'Log,0)
と記述しました。
以上により
更新=Yes/Noのどちらを選んでも、子タスクでメンテしている内容が
保存される/保存されないが意図した通りに出来ました。
使い方として、おおよそ間違いは無いでしょうか?
よろしくお願い申し上げます。
投票数:0
平均点:0.00
pu_mahalo
居住地: 大阪
投稿数: 775
![長老 長老](../../uploads/rank3dbf8eb1a72e7.gif)
こんにちは Puです
試してはいませんが
親タスクで 変更取消しなくても
親でRollbackすれば
子タスクでの 変更も取り消されると思います
トランザクションのスタートが親のレコード前の前なんで
Rollbackすればそこまで戻るはずです
でわ〜でわ〜
試してはいませんが
親タスクで 変更取消しなくても
親でRollbackすれば
子タスクでの 変更も取り消されると思います
トランザクションのスタートが親のレコード前の前なんで
Rollbackすればそこまで戻るはずです
でわ〜でわ〜
投票数:0
平均点:0.00
nkmt
投稿数: 1668
![長老 長老](../../uploads/rank3dbf8eb1a72e7.gif)
Puさん いつもレス有難う御座います。
親で変更取消アクションを発行したのではなく
更新確認で、更新しない を選ぶと
変更取消イベントが発生するみたいですね。
変更取消イベントが発生したら
Rollbackを発行するように今回やってみたという訳です。
親タスクには
・破棄して終了
・保存して終了といったボタンはなくて
単純に 終了 というボタン1個に今回はしました。
親で変更取消アクションを発行したのではなく
更新確認で、更新しない を選ぶと
変更取消イベントが発生するみたいですね。
変更取消イベントが発生したら
Rollbackを発行するように今回やってみたという訳です。
親タスクには
・破棄して終了
・保存して終了といったボタンはなくて
単純に 終了 というボタン1個に今回はしました。
投票数:1
平均点:10.00