複数シート間でのロールバック、コミットのような処理
2024-09-11 11:56
シート1(メイン画面)とシート2(サブ画面)があります。
やりたいこと
①シート1からシート2へ画面を移動
②シート2で編集を行い、シート1へ戻る
この時点では、シート2の編集内容はデータベースへ保存したくない
※もう一度、シート1からシート2に戻った場合は、編集した内容が表示される
③シート1のアクションでシート2の編集内容を保存
シート1でキャンセルした場合は、②の編集内容は破棄する
現在、登録用のシートを設けて、そこにシート2の情報を逃がして、表示保存を行っています。
良い方法はないでしょうか…
回答を投稿するにはログインが必要です。
新日本コンピュータマネジメント株式会社
パートナー
こんにちは
もし、仮に一時保存用のテーブルを別途作成し、そこにシート2の編集内容を保存させることが可能であれば、以下の方法が考えられます。
事前準備
・シート2の内容を保存するテーブル(以降、subテーブル)を作成
(このテーブルに編集内容のほかに、作成者の「ユーザID」のカラムを追加で設ける)
処理について
①の処理:
シート2の初期表示でsubテーブルからデータを取得(検索条件にユーザIDを使用)
②の処理:
シート1に戻る際、subテーブルに編集内容とユーザIDを登録または更新
③の処理:
シート1アクションで保存を実行した際、保存ボタン押下時の処理:アクションで「シート【シート2】のアクション【保存(仮)】」を実行する」を設置し、シート2のアクションで以下のフローで処理する
・①の処理と同様にsubテーブルからデータを取得
・登録用テーブルにシート2の編集内容を保存
・subテーブルから編集内容を削除(削除条件にユーザIDを使用)
シート1でキャンセルをした際は、最後に記載したsubテーブルから編集内容を削除のみ実行させる
以上、よろしくお願いいたします。
もし、仮に一時保存用のテーブルを別途作成し、そこにシート2の編集内容を保存させることが可能であれば、以下の方法が考えられます。
事前準備
・シート2の内容を保存するテーブル(以降、subテーブル)を作成
(このテーブルに編集内容のほかに、作成者の「ユーザID」のカラムを追加で設ける)
処理について
①の処理:
シート2の初期表示でsubテーブルからデータを取得(検索条件にユーザIDを使用)
②の処理:
シート1に戻る際、subテーブルに編集内容とユーザIDを登録または更新
③の処理:
シート1アクションで保存を実行した際、保存ボタン押下時の処理:アクションで「シート【シート2】のアクション【保存(仮)】」を実行する」を設置し、シート2のアクションで以下のフローで処理する
・①の処理と同様にsubテーブルからデータを取得
・登録用テーブルにシート2の編集内容を保存
・subテーブルから編集内容を削除(削除条件にユーザIDを使用)
シート1でキャンセルをした際は、最後に記載したsubテーブルから編集内容を削除のみ実行させる
以上、よろしくお願いいたします。