• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:access フォームについて)

Accessフォームの登録データ保存について

このQ&Aのポイント
  • Access2003にて登録フォームを作成しています。このフォームは入力したデータを保存するかどうかを確認するメッセージを表示します。しかし、保存せずにフォームを閉じる場合には正常に動作し、保存してフォームを閉じる場合にも問題ありませんが、保存せずにフォームに戻る場合には保存されてしまいます。
  • 質問の内容は、Access2003で作成したフォームでデータ登録を行う際に、保存せずにフォームに戻る場合にデータが保存されてしまうという問題が発生しているというものです。
  • この問題は、フォームのイベントハンドラであるBeforeUpdateイベントで行っている処理に原因があると考えられます。イベントハンドラ内で表示されるメッセージボックスの結果に応じて、保存せずに閉じる、保存せずにフォームに戻る、保存して閉じるといった処理を行っていますが、保存せずにフォームに戻る場合にも保存されてしまうという現象が発生しています。

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

  • ベストアンサー
noname#208392
noname#208392
回答No.1

acSaveYes の意味は、フォームの変更をメッセージ無しで保存する、ということですよ。 入力したデータを登録するのとは、全然関係ないオプションです。 典型的には、並べ替えの順序を保存しておくとか、フィルターを保存しておくとか、そんなことに使うのではないでしょうか。 このコードでは BeforeUpdate イベントでフォームを閉じることになっていますから、レコードが保存される前に、フォームが閉じるのは、正常にコードが走っていることになると思います。 入力したデータを保存するなら、私なら、非連結のフォームを作って、「登録する」を押したら、そのフォームに記入された数値をVBAのプロシージャで所定のテーブルに書き写していく、というふうにします。

関連するQ&A