ms access vba DoCmd.GoToRecord , , acNewRec 02


ms accessでテーブルとそこに格納するフィールドを定義して、

そのレコードを登録するためのフォームを作成したとき、

そのフォームにはテーブルの列の値を入力するテキストボックスと、

ボタン1 ボタン2があって、


ボタン1押下で

DoCmd.GoToRecord , , acNewRec


が実行され、


ボタン2押下で

DoCmd.Saveが実行されるとします。


このとき、テーブルの列の値のテキストボックスが

すべて入力されていて、


テーブルにまったくレコードがない状態で、

ボタン1も押さずに

ボタン2を押して


フォームのテキストフィールドの値を

保存しようとすると、


エラーになるのでしょうか?



その場合、**エラーになります**。

具体的には、テーブルに新しいレコードが追加されていないため、

保存しようとしたときにエラーが発生します。


`DoCmd.Save`コマンドは、

現在のレコードを保存しようとしますが、

新しいレコードが存在しない場合は保存対象がないため、

エラーが発生します。


先に`DoCmd.GoToRecord , , acNewRec`

を実行して新しいレコードを作成してから、

データを入力し、


`DoCmd.Save`を実行する必要があります。


いかがでしょうか。

もし他にも質問があれば教えてください。


コメント