• 締切済み

キャンセルを選択して、元に戻すには(access)

データ修正画面をフォームで作成しています。 まず、3つのコンボボックスでデータを絞込み、「検索」をクリックすると最小化され修正画面が表示されるようになっています。 この画面には「修正」「中止」「終了」3つのコマンドボタンを用意しました。 そこでみなさんにお伺いしたいのは、「中止」を選択すると、修正前のデータに戻るにはどのようにしたらよいのでしょうか? マクロやundoを試しましたが、動きません。 みなさんよろしくお願いします。

みんなの回答

  • O_cyan
  • ベストアンサー率59% (745/1260)
回答No.1

ボタン名を中止としてクリック時イベントにDoCmdでacUndo Private Sub 中止_Click() On Error GoTo Err_中止_Click DoCmd.DoMenuItem acFormBar, acEditMenu, acUndo, , acMenuVer70 Exit_中止_Click: Exit Sub Err_中止_Click: MsgBox Err.Description Resume Exit_中止_Click End Sub で最初に読み込んだ状態に戻るはずです。

hara88
質問者

お礼

アドバイスをいただいてから、いろいろ試したところ、解決をしました。 私の説明不足でしたが、 アドバイスいただいたものは、非連結だと動かないようです。 なぜ、わざわざ非連結にしたかというと、選択クエリでフィールドが足りなかったため、どうしても非連結にして読込み時に表示させるという方法をとるしか考えつきませんでした。 なので、「中止」のコマンドボタンをクリックすると、もう一度読込むということをさせることにしました。 Private Sub 中止_Click() Call Form_Load End Sub アドバイスありがとうございました。

hara88
質問者

補足

早速のアドバイスありがとうございます。 コマンドボタン「中止」のプロパティ「クリック時」を【イベントプロシージャ】にして、上記を貼り付けてみましたところ、 『コマンドまたはイベント'元に戻す'は無効です』とメッセージが出てきました。 原因は何でしょうか?教えていただければうれしいです。

関連するQ&A