• ベストアンサー

ACCESSの保存

フォームで入力したデータをフォームを閉じるのマクロを実行させたときに データが保存されないのですが、 なぜでしょうか? また、閉じたときに必ず保存させるためには どうしたらよいでしょうか? 宜しくお願い致します。

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

  • ベストアンサー
  • TMINET
  • ベストアンサー率32% (45/140)
回答No.1

バージョンが分からないので推測ですが、フォームのソースにテーブルを指定してあると閉じる時にコミットされない場合があります。 たいてい入力の途中だったり、入力完了したけど最後のカラムにフォーカスが残ったままの時とかです。 データシートビューで言うところの鉛筆マークがまだ付いている状態ということです。 解決法は、閉じるマクロの一行前に[コマンドの実行]-[レコードの保存]を入れてあげることです。 または[レコードの移動]で一度違う行に移るとコミットされます。 これは2000を想定しています、マクロはバージョンで大きく変わるのでどこかに似たようなアクションがあるはずですので探してください。

katakko
質問者

お礼

書くのを忘れてしまいましたが 想定どおり、2000です。 最後のカラムにフォーカスが残ったままっていうのは 可能性はあります。 早速の回答ありがとうございました!

その他の回答 (1)

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

>閉じたときに必ず保存させるためにはどうしたらよいでしょうか? マクロで処理するなら#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

katakko
質問者

お礼

ありがとうございました。 これで対応させていただきます。

関連するQ&A