使用しているデータベースのオブジェクトをコピー : Access

オブジェクトとは、テーブル・フォーム・レポート・クエリ・モジュール・マクロなどのことです。

コピーするには、CopyObjectメソッドを使います。

構文: DoCmd.CopyObject(destinationdatabase , newname , sourceobjecttype , sourceobjectname)

destinationdatabase: コピー先のデータベースのフルパス名を指定します。省略するとカレントデータベースになります。

newname: コピーするオブジェクトの新しい名前を指定します。他のデータベースへ同じ名前でコピーする場合は、省略できます。

sourceobjecttype: コピーするオブジェクトのクラス定数を指定します。

  • acDataAccessPage: データアクセスページ
  • acDefault: カレントオブジェクト(既定値)
  • acDiagram: ダイアグラム
  • acForm: フォーム
  • acFunction: 関数
  • acMacro: マクロ
  • acModule: モジュール
  • acQuery: クエリ
  • acReport: レポート
  • acServerView: サーバービュー
  • acStoredProcedure: ストアアドプロシージャ
  • acTable: テーブル

sourceobjectname: コピー元のオブジェクト名を指定します。




BackHome BackTips Backメニュー

■実行前の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(コピー)」ができています。
フォームがコピーされた結果

BackHome BackTips Backメニュー

Copyright(C) FeedSoft