ロールバック以降の処理が実行されません
- このフォーラムに新しいトピックを立てることはできません
- このフォーラムではゲスト投稿が禁止されています
kimata
居住地: 愛知県
投稿数: 18
![新米 新米](../../uploads/rank3e632f95e81ca.gif)
mukaさん
情報ありがとうございました。
返答が遅くなり、申し訳ありませんでした。
メインプログラムに定義した変数は、ロールバックしても初期化されないことが確認できました。
ロールバック後に、照会モードに変更する事が出来ないか、色々試してみましたが、やっぱりできませんでした。
ロールバック後に実行されるレコード前処理に、モード変更を入れてみましたが、モードは切り替わりませんでした。
ロールバック時の、モード切替(照会モードに切り替え)は、あきらめます。
情報ありがとうございました。
返答が遅くなり、申し訳ありませんでした。
メインプログラムに定義した変数は、ロールバックしても初期化されないことが確認できました。
ロールバック後に、照会モードに変更する事が出来ないか、色々試してみましたが、やっぱりできませんでした。
ロールバック後に実行されるレコード前処理に、モード変更を入れてみましたが、モードは切り替わりませんでした。
ロールバック時の、モード切替(照会モードに切り替え)は、あきらめます。
投票数:0
平均点:0.00
muka
居住地: 東京都練馬区
投稿数: 69
![常連 常連](../../uploads/rank3dbf8e9e7d88d.gif)
ロールバックを実行した場合、変数が初期化されるのは仕様かと思いますよ。
但し、メインプログラム(#1のプログラム)に定義した変数は初期化されませんので、そこに値を確保することは可能かと思います。
但し、メインプログラム(#1のプログラム)に定義した変数は初期化されませんので、そこに値を確保することは可能かと思います。
投票数:1
平均点:10.00
kimata
居住地: 愛知県
投稿数: 18
![新米 新米](../../uploads/rank3e632f95e81ca.gif)
nullさん
返信ありがとうございます。
イベント実行 キャンセル(C)での動作確認を行ってみました。
キャンセル後に、モード切替は出来たのですが、変数の値の変更も行っているのですが、
元に戻ってしまいました。また、キャンセルでは、サブフォームで複数の変更が行われた
場合には、直前の変更が行われる前の状態に戻ってしまうので、複数回実行しなければな
らず、思うように出来ませんでした。
画面内でのモード切替はやめて、画面を分けるように進めていくようにします。
返信ありがとうございます。
イベント実行 キャンセル(C)での動作確認を行ってみました。
キャンセル後に、モード切替は出来たのですが、変数の値の変更も行っているのですが、
元に戻ってしまいました。また、キャンセルでは、サブフォームで複数の変更が行われた
場合には、直前の変更が行われる前の状態に戻ってしまうので、複数回実行しなければな
らず、思うように出来ませんでした。
画面内でのモード切替はやめて、画面を分けるように進めていくようにします。
投票数:0
平均点:0.00
null
投稿数: 191
![長老 長老](../../uploads/rank3dbf8eb1a72e7.gif)
すいません、オンラインで確認していました。
リッチクライアントでは確かに出来ないですね。
リッチの場合、どうすれば良いのか判らないです。
処理内容によっては駄目ですが、Rollback の代わりに
イベント実行 キャンセル(C) を使うことは可能でしょうか?
>MAGICで画面を作成する場合、サンプルでは、参照用と更新用を別々に作成していたのですが、
>通常は、別々に作成するものなのでしょうか?
サンプルではそうですが、私の場合はタスク特性の
初期モードに式を使って 1 つにまとめてますね。
リッチクライアントでは確かに出来ないですね。
リッチの場合、どうすれば良いのか判らないです。
処理内容によっては駄目ですが、Rollback の代わりに
イベント実行 キャンセル(C) を使うことは可能でしょうか?
>MAGICで画面を作成する場合、サンプルでは、参照用と更新用を別々に作成していたのですが、
>通常は、別々に作成するものなのでしょうか?
サンプルではそうですが、私の場合はタスク特性の
初期モードに式を使って 1 つにまとめてますね。
投票数:1
平均点:10.00
kimata
居住地: 愛知県
投稿数: 18
![新米 新米](../../uploads/rank3e632f95e81ca.gif)
nullさん
返信ありがとうございました。
教えていただいた方法を試して見ましたが、実行する内容に問題があるのか、出来ませんでした。
ロールバック後に、画面のモードを「追加」、もしくは、「更新」モードから「照会」に変更しよ
うとしていますが、出来ずに困っています。
MAGICで画面を作成する場合、サンプルでは、参照用と更新用を別々に作成していたのですが、
通常は、別々に作成するものなのでしょうか?
返信ありがとうございました。
教えていただいた方法を試して見ましたが、実行する内容に問題があるのか、出来ませんでした。
ロールバック後に、画面のモードを「追加」、もしくは、「更新」モードから「照会」に変更しよ
うとしていますが、出来ずに困っています。
MAGICで画面を作成する場合、サンプルでは、参照用と更新用を別々に作成していたのですが、
通常は、別々に作成するものなのでしょうか?
投票数:0
平均点:0.00
null
投稿数: 191
![長老 長老](../../uploads/rank3dbf8eb1a72e7.gif)
ロールバックを行うとそうなるのは仕方ないことですが、出来ないことも無いです。
・ユーザーイベントに任意のイベントを定義
名前 Foo トリガータイプ N=なし
・ロールバック処理の前にイベント実行を追加
イベント実行 Foo ウエイト No ←重要
Rollback('FALSE'LOG, 1)
・Foo イベントハンドラを作成
E=イベント Foo
ここに Rollback 以降に行いたい処理を書く
ポイントはウエイト No でイベント実行することです。
こうすれば、Rollback 処理が行われた後
(Rollback が書かれているイベントが終わった後)
イベント Foo が実行されるはずです。
・ユーザーイベントに任意のイベントを定義
名前 Foo トリガータイプ N=なし
・ロールバック処理の前にイベント実行を追加
イベント実行 Foo ウエイト No ←重要
Rollback('FALSE'LOG, 1)
・Foo イベントハンドラを作成
E=イベント Foo
ここに Rollback 以降に行いたい処理を書く
ポイントはウエイト No でイベント実行することです。
こうすれば、Rollback 処理が行われた後
(Rollback が書かれているイベントが終わった後)
イベント Foo が実行されるはずです。
投票数:1
平均点:10.00
kimata
居住地: 愛知県
投稿数: 18
![新米 新米](../../uploads/rank3e632f95e81ca.gif)
リッチクライアントで、データベース関数のロールバック「RollBack('FALSE'LOG,1)」を使用して、
ロールバックを行おうとしているのですが、ロールバックが行われた際、それ以降に記述した処理が
実行されません。
原因が分からず困っています。
対応方法がありましたら、教えてください。
ロールバックを行おうとしているのですが、ロールバックが行われた際、それ以降に記述した処理が
実行されません。
原因が分からず困っています。
対応方法がありましたら、教えてください。
投票数:0
平均点:0.00