- ベストアンサー
ACCESSの保存
フォームで入力したデータをフォームを閉じるのマクロを実行させたときに データが保存されないのですが、 なぜでしょうか? また、閉じたときに必ず保存させるためには どうしたらよいでしょうか? 宜しくお願い致します。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
バージョンが分からないので推測ですが、フォームのソースにテーブルを指定してあると閉じる時にコミットされない場合があります。 たいてい入力の途中だったり、入力完了したけど最後のカラムにフォーカスが残ったままの時とかです。 データシートビューで言うところの鉛筆マークがまだ付いている状態ということです。 解決法は、閉じるマクロの一行前に[コマンドの実行]-[レコードの保存]を入れてあげることです。 または[レコードの移動]で一度違う行に移るとコミットされます。 これは2000を想定しています、マクロはバージョンで大きく変わるのでどこかに似たようなアクションがあるはずですので探してください。
その他の回答 (1)
- O_cyan
- ベストアンサー率59% (745/1260)
>閉じたときに必ず保存させるためにはどうしたらよいでしょうか? マクロで処理するなら#1の方の方法でOKかと思いますが 閉じるボタンにイベントを記述するなら下記でOKです。 閉じるボタンをコマンド1として Private Sub コマンド1_Click() On Error GoTo Err_コマンド1_Click DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70 DoCmd.Close Exit_コマンド1_Click: Exit Sub Err_コマンド1_Click: MsgBox Err.Description Resume Exit_コマンド1_Click End Sub
お礼
ありがとうございました。 これで対応させていただきます。
お礼
書くのを忘れてしまいましたが 想定どおり、2000です。 最後のカラムにフォーカスが残ったままっていうのは 可能性はあります。 早速の回答ありがとうございました!