使いやすいように設計された Microsoft リレーショナル データベース管理システムのファミリ。
DoCmd.RunCommand acCmdSaveRecord ってものがあったんですね。。
仰る通り、コマンドを実行した後にフォームを閉じるなりしたいと思います。
ありがとうございました。
で、肝心のEOFの判定がどうなるかってことですよね。
追ってご報告させて頂きますね。
<追記>
早速フォームを閉じる前にコマンドを実行したところ以下のエラーとなってしまいました。
実行時エラー:2046
コマンドまたはアクション'レコードの保存'は無効です。
なお、Me.Refresh とやったところフォームを閉じなくてもTMPにレコードが
保存されることを確認しました。
但し、その後のEOF判定は相変わらずTrueとなってしまいます。。
<8/19追記>
すみません。。肝心なところを誤ってました。
テンポラリテーブルtempをTMPにSetし、そのTMPをEOFか否か判定している
のですが・・・
Set TMP = db.OpenRecordset("temp")
If MsgBox("登録しますか?", vbOKCancel + VbQuestion) = vbOK Then
Me.Refresh
If TMP.EOF = Flase Then
<Falseの処理>
Else
<Trueの処理>
End IF
としてました。
※以前はMe.Refreshの箇所で、ソース解除及びフォームを閉じてました。
Setはその時点のtempの内容がSetされるんですね。。
Me.Refresh後にSetしたら、ちゃんとFalseと判定されるようになりました。
大変勉強になりました。ありがとうございました。