• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:アクセスの登録について。(その2))

アクセスの登録について。(その2)

このQ&Aのポイント
  • アクセスの登録についてについての質問です。
  • 登録が自動でされないようにしたい場合、変更したデータを元の状態に戻す方法を教えてください。
  • フォームのイベントの中の「更新前処理」というモジュールを使用すると、登録の確認が表示されるようになります。いいえを選択すると登録されません。

質問者が選んだベストアンサー

  • ベストアンサー
  • kurodai2
  • ベストアンサー率38% (77/202)
回答No.2

取りあえず、登録の確認時にあわせて編集もキャンセルさせるなら Private Sub Form_BeforeUpdate(Cancel As Integer) Dim rts As Integer rts = MsgBox("登録しますか?", vbYesNoCancel) 'いいえ 単に登録をキャンセル 編集中のまま If rts = vbNo Then Cancel = -1 End If 'キャンセル 登録をキャンセルし 編集も解除する If rts = vbCancel Then Cancel = -1 DoCmd.DoMenuItem acFormBar, acEditMenu, acUndo, , acMenuVer70 End If End Sub ですかね。 ただし、当方確認したのはAccess2003です 2007とかはメニューが ガラッと(方言?)変わっているのでメニューの操作は動作しないかも そのときは、あまりお勧めしませんが、 DoCmd.DoMenuItem acFormBar, acEditMenu, acUndo, , acMenuVer70 の代わりに、 SendKeys "{ESC}" で、直接 ESCキーを送ってください。

ayanohina
質問者

お礼

ありがとうございました!!アクセス2003ですので、すぐにうまくいきました。今後もよろしくお願いいたします。

その他の回答 (1)

  • kurodai2
  • ベストアンサー率38% (77/202)
回答No.1

先の回答をしたものです。 >「指定したレコードに移動できません」のコメントがでます。登録し これの意味が良く見えませんが・・ 更新をキャンセルしたら、そのデータは編集中のまま (レコードセレクタに、鉛筆マークがでて変更中の状態) だと思います。 編集している状態で、登録しない>変更を無かった前に戻したい場合 通常、ESCキーを押すと、編集中を解除してもとの 未入力の状態になります。 同然、他のレコードへ移動できます。 編集取り消しのECSキーを押すのまで自動にすることも出来ますが 共通の操作なので、そこまでしなくてもと思います。