ms access vba DoCmd.GoToRecord , , acNewRec

access の vbaのうちの

DoCmd.GoToRecord , , acNewRec

の文は、どのような意味になるのでしょうか?

Access VBA の `DoCmd.GoToRecord` は、

指定したレコードへ移動するための命令です。


### `DoCmd.GoToRecord , , acNewRec` の意味:


- `DoCmd.GoToRecord` → レコードの移動を指示するコマンド


- `, ,` → 第1引数と第2引数を省略

(現在のアクティブなオブジェクトを対象にする)


- `acNewRec` → 新規レコードに移動する指定


つまり、このコードは 

**現在開いているフォームやテーブルの新しいレコードに移動する**

 という意味になります。


#### 具体的な用途:

- フォームで新しいデータを追加したいとき


- 連続フォーム(Continuous Form)で次の空のレコードに移動したいとき


- データ入力用のボタンを作り、そのクリックイベントで実行すると、

新しいレコードの入力ができるようになる


#### 例:


フォーム上のボタンに

新しいレコードに移動する機能を追加する場合:


```vba


Private Sub btnNewRecord_Click()

    DoCmd.GoToRecord , , acNewRec

End Sub


```

このボタンをクリックすると、新規レコードの入力画面へ移動できます。


他のオプションとして、既存のレコードを指定して移動することも可能です:


```vba


DoCmd.GoToRecord , , acFirst   ' 最初のレコードへ移動

DoCmd.GoToRecord , , acLast    ' 最後のレコードへ移動

DoCmd.GoToRecord , , acNext    ' 次のレコードへ移動

DoCmd.GoToRecord , , acPrevious ' 前のレコードへ移動


```


### 補足:


- フォームやレポートが**編集可能な状態であること**が前提です。


- **クエリの結果やリンクテーブルなど、

一部のオブジェクトでは使用できない場合がある**ので

注意してください。



このコードを使用すると、

ボタン一つで簡単に新しいレコードに移動できるので、

データ入力フォームを作成する際に便利です。



コメント