Access VBA の DoCmd.CopyObject
、DoCmd.DeleteObject
、DoCmd.Rename
(または DoCmd.RenameObject
とも呼ばれることがあります)は、Access データベース内のオブジェクト(テーブル・クエリ・フォームなど)を操作するための基本メソッドです。以下にそれぞれの基本構文と引数を詳しく解説します。
目次
🔹 1. DoCmd.CopyObject
:オブジェクトのコピー
基本構文
DoCmd.CopyObject [DestinationDatabase], [NewName], ObjectType, [SourceObjectName]
引数の解説
引数名 | 型 | 説明 |
---|
DestinationDatabase | String | コピー先データベースのファイルパス(省略時は現在のDB) |
NewName | String | コピー後のオブジェクト名 |
ObjectType | AcObjectType | コピーするオブジェクトの種類(例:acTable 、acForm ) |
SourceObjectName | String | コピー元のオブジェクト名 |
使用例
DoCmd.CopyObject , "tblCustomers_Copy", acTable, "tblCustomers"
🔹 2. DoCmd.DeleteObject
:オブジェクトの削除
基本構文
DoCmd.DeleteObject ObjectType, [ObjectName]
引数の解説
引数名 | 型 | 説明 |
---|
ObjectType | AcObjectType | 削除するオブジェクトの種類 |
ObjectName | String | 削除対象のオブジェクト名(省略時は現在選択中のオブジェクト) |
使用例
DoCmd.DeleteObject acQuery, "qryOldData"
🔹 3. DoCmd.Rename
:オブジェクトの名前変更
基本構文
DoCmd.Rename NewName, ObjectType, [OldName]
引数の解説
引数名 | 型 | 説明 |
---|
NewName | String | 新しい名前 |
ObjectType | AcObjectType | 対象のオブジェクト種別 |
OldName | String | 現在の名前(省略時は現在選択中のオブジェクト) |
使用例
DoCmd.Rename "tblCustomers_Archive", acTable, "tblCustomers"
🔸 AcObjectType
主な値(共通)
値 | 対象 |
---|
acTable | テーブル |
acQuery | クエリ |
acForm | フォーム |
acReport | レポート |
acMacro | マクロ |
acModule | モジュール |
✅ 補足
- 操作対象のオブジェクトが開かれていないことを確認してから実行するのが安全です。
- 誤削除防止のため、
DeleteObject
実行前にはユーザー確認を表示するのが推奨されます。