CopyObject / DeleteObject / RenameObject 基本構文と引数の解説

Access VBA の DoCmd.CopyObjectDoCmd.DeleteObjectDoCmd.Rename(または DoCmd.RenameObject とも呼ばれることがあります)は、Access データベース内のオブジェクト(テーブル・クエリ・フォームなど)を操作するための基本メソッドです。以下にそれぞれの基本構文と引数を詳しく解説します。


目次

🔹 1. DoCmd.CopyObject:オブジェクトのコピー

基本構文

DoCmd.CopyObject [DestinationDatabase], [NewName], ObjectType, [SourceObjectName]

引数の解説

引数名説明
DestinationDatabaseStringコピー先データベースのファイルパス(省略時は現在のDB)
NewNameStringコピー後のオブジェクト名
ObjectTypeAcObjectTypeコピーするオブジェクトの種類(例:acTableacForm
SourceObjectNameStringコピー元のオブジェクト名

使用例

DoCmd.CopyObject , "tblCustomers_Copy", acTable, "tblCustomers"

🔹 2. DoCmd.DeleteObject:オブジェクトの削除

基本構文

DoCmd.DeleteObject ObjectType, [ObjectName]

引数の解説

引数名説明
ObjectTypeAcObjectType削除するオブジェクトの種類
ObjectNameString削除対象のオブジェクト名(省略時は現在選択中のオブジェクト)

使用例

DoCmd.DeleteObject acQuery, "qryOldData"

🔹 3. DoCmd.Rename:オブジェクトの名前変更

基本構文

DoCmd.Rename NewName, ObjectType, [OldName]

引数の解説

引数名説明
NewNameString新しい名前
ObjectTypeAcObjectType対象のオブジェクト種別
OldNameString現在の名前(省略時は現在選択中のオブジェクト)

使用例

DoCmd.Rename "tblCustomers_Archive", acTable, "tblCustomers"

🔸 AcObjectType 主な値(共通)

対象
acTableテーブル
acQueryクエリ
acFormフォーム
acReportレポート
acMacroマクロ
acModuleモジュール

✅ 補足

  • 操作対象のオブジェクトが開かれていないことを確認してから実行するのが安全です。
  • 誤削除防止のため、DeleteObject 実行前にはユーザー確認を表示するのが推奨されます。

よかったらシェアしてね!
目次