Access VBA における DoCmd は、「Do Command(コマンドを実行する)」の略で、Access のユーザーインターフェースで実行できる操作を、VBAコードで自動化するためのオブジェクトです。たとえば、フォームの開閉、レポートの印刷、クエリの実行など、GUIからできる操作のほとんどをコードで制御できます。
🔹 DoCmd の主な用途
| 操作の種類 | 使用例 |
|---|---|
| フォームの操作 | DoCmd.OpenForm "frmCustomers" |
| レポートの操作 | DoCmd.OpenReport "rptSales", acViewPreview |
| クエリの実行 | DoCmd.OpenQuery "qryUpdateInventory" |
| レコードの操作 | DoCmd.GoToRecord , , acNext |
| メッセージ表示 | DoCmd.Beep、DoCmd.Hourglass True |
| エクスポート | DoCmd.TransferSpreadsheet acExport, , "qryData", "data.xlsx" |
| 印刷処理 | DoCmd.PrintOut、DoCmd.PrintReport |
🔸 使用例
' 顧客フォームを開く DoCmd.OpenForm "frmCustomers", acNormal ' 売上レポートをプレビュー表示 DoCmd.OpenReport "rptSales", acViewPreview ' 次のレコードに移動 DoCmd.GoToRecord , , acNext
🔹 注意点
DoCmdの多くのメソッドは フォームやレポートが存在していることが前提です。- エラー処理は明示的に書く必要があります(例:
On Error Resume Nextなど)。 DoCmdの一部メソッドは、UI環境が必要なため、非UI環境(例:バックグラウンドでの実行)では失敗することがあります。
