質問: accessでレコードの保存をせずにフォームを閉じたい accessでデータベースのレコード追加を行うフォームを作成しています。 コマンドボタン(1)をクリック→新しいレコードの追加 コマンドボタン(2)をクリック→フォームを閉じる としています。(ウィザードを使用して、埋め込みマクロ?を設定しています。) コマンドボタン(1)でレコードが追加されるのは問題ないのですが、 コマンドボタン(2)をクリックした場合も、レコードが追加されていることに気がつきました。 一般的に入力する人は、 データを追加しようと思って入力していたけれど、 途中でやめてフォームを閉じることってありますよね? そういう場合にレコードが追加されてしまったら問題だと思ったのです。 ですが、どうしたらレコードの追加をせずにフォームを閉じられるかがわかりません。 それって可能でしょうか? access初心者です。難しいvbaとかはまだよくわかりません。 何か方法、アドバイス等ありましたら よろしくお願いします。
回答: フォームを閉じたときに保存されるのは仕様です それ以外にaccessを終了したとき、レコードを移動したときにも保存されます これらを完全にカバーするには、非連結のフォームにし ボタンクリックでデータをテーブルに書き込むようにするか 作業用のテーブルから作ったフォームで入力し ボタンクリックで本テーブルに転記するようにします どちらにしてvbaが必要ですね、しかもへんなレコードを書き込もうとすると コードが止まってしまいますから 転記前にデータの整合性を完全にチェックする必要があります という訳でかなりきちんとしたコードが書けるスキルが必要ですね