Access VBA の DoCmd オブジェクトは、Access UI上で行える操作を、VBAからプログラム的に実行するためのオブジェクト です。マクロでできる操作をコードで実行できるのが大きな特徴です。
目次 
🔹 DoCmd オブジェクトとは? 
項目 説明 正式名 DoCmd(Document Command の略)機能 フォーム・レポートの開閉、クエリ実行、エクスポート、印刷など 対象 Microsoft Access VBA マクロと同等 Access の「マクロ」と同じ操作を VBA で実行可能 
🧭 よく使う DoCmd メソッド一覧 
メソッド 説明 DoCmd.OpenFormフォームを開く DoCmd.Closeフォームやレポートを閉じる DoCmd.RunSQLSQL文を実行する(例:INSERT/UPDATE) DoCmd.OpenReportレポートを開く DoCmd.RunMacroマクロを実行する DoCmd.SetWarnings警告メッセージの表示/非表示を切り替える DoCmd.GoToRecordレコード移動 DoCmd.TransferSpreadsheetExcelへエクスポート/インポート DoCmd.OpenQueryクエリを実行する DoCmd.OutputToレポートやテーブルをPDFやExcelへ出力 
✅ 使用例一覧 
① フォームを開く 
DoCmd.OpenForm "frm_ユーザー一覧", acNormal
 
② フォームを閉じる 
DoCmd.Close acForm, "frm_ユーザー一覧"
 
③ SQL文を実行(テーブルへデータ追加) 
DoCmd.SetWarnings False
DoCmd.RunSQL "INSERT INTO ユーザー (ユーザーID, ユーザー名) VALUES ('u001', '山田太郎');"
DoCmd.SetWarnings True
 
④ Excel にエクスポート 
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel12Xml, _
                          "ユーザー", "C:\Users\Export.xlsx", True
 
⑤ 現在のフォームの次のレコードへ 
DoCmd.GoToRecord , , acNext
 
🧱 SetWarnings の注意点 
DoCmd.SetWarnings False
' SQLなどを実行
DoCmd.SetWarnings True
 
※ False にすると「確認メッセージ(レコード追加しますか?など)」が出なくなります。Falseにしたままにしないよう注意!  エラーが無視される危険があります。
 
🎯 ユースケース例:ボタンでレコードを追加 
Private Sub btn追加_Click()
    DoCmd.SetWarnings False
    DoCmd.RunSQL "INSERT INTO ユーザー (ユーザーID, ユーザー名) VALUES ('u002', '田中一郎');"
    DoCmd.SetWarnings True
    MsgBox "ユーザーを追加しました。"
End Sub
 
📌 補足:DoCmd vs DAO/SQL 
方法 使いやすさ 処理対象 補足 DoCmd直感的 フォーム、マクロ等の操作 ユーザー操作に近い動作 DAO/SQL高度・柔軟 テーブル・データ処理 複雑な処理、トランザクションに強い 
📚 まとめ 
特徴 内容 操作を自動化 フォーム操作やクエリをVBAで制御できる マクロの置き換え マクロより柔軟な制御が可能 エラー制御には注意が必要 SetWarnings False 時のエラー無視に注意