オブジェクトとは、テーブル・フォーム・レポート・クエリ・モジュール・マクロなどのことです。
コピーするには、CopyObjectメソッドを使います。
構文: DoCmd.CopyObject(destinationdatabase , newname , sourceobjecttype , sourceobjectname)
destinationdatabase: コピー先のデータベースのフルパス名を指定します。省略するとカレントデータベースになります。
newname: コピーするオブジェクトの新しい名前を指定します。他のデータベースへ同じ名前でコピーする場合は、省略できます。
sourceobjecttype: コピーするオブジェクトのクラス定数を指定します。
- acDataAccessPage: データアクセスページ
- acDefault: カレントオブジェクト(既定値)
- acDiagram: ダイアグラム
- acForm: フォーム
- acFunction: 関数
- acMacro: マクロ
- acModule: モジュール
- acQuery: クエリ
- acReport: レポート
- acServerView: サーバービュー
- acStoredProcedure: ストアアドプロシージャ
- acTable: テーブル
sourceobjectname: コピー元のオブジェクト名を指定します。
■実行前のAccessテーブルとフォームのオブジェクト一覧
■オブジェクトをコピーする実行Accessフォーム
■ Access VBA実行コード
VBAの解説
- コマンド0(テーブルのコピー)ボタンをクリックすると、製品マスターテーブルをコピーします。
- コマンド1(フォームのコピー)ボタンをクリックすると、フォーム1をコピーします。
Option Compare Database
Option Explicit
Private Sub コマンド0_Click()
DoCmd.CopyObject , "M_製品マスター(コピー)", acTable, "M_製品マスター"
End Sub
Private Sub コマンド1_Click()
DoCmd.CopyObject , "フォーム1(コピー)", acForm, "フォーム1"
End Sub
■実行結果
「M_製品マスター」がコピーされ「M_製品マスター(コピー)」ができています。
「フォーム1」がコピーされ「フォーム1(コピー)」ができています。