カレントデータベース以外のデータベースのオブジェクトを削除する(ActiveXオブジェクトへの参照)
 カレントデータベース以外のデータベースのテーブルやフォームを、
「DeleteObject/オブジェクトの削除」 アクションを実行するDeleteObjectメソッド
を使って削除します。

 他のデータベースを操作するためには、ActiveXオブジェクトへの参照を作成して
返すCreateObject関数を使います。ActiveX オブジェクトを作成するには、
CreateObject関数の戻り値をオブジェクト変数に代入します。

 サンプルプロシージャは、カレントデータベースからdb2.mdbのテーブル「テーブル1」
を削除しています。
 サンプルプロシージャの実行は、マクロなどを使って行います。

● サンプル ●

Function Sample()
    Dim objAcc As Access.Application
    
    Set objAcc = CreateObject("Access.Application")
    
    objAcc.OpenCurrentDatabase "C:\db2.mdb"
    
    objAcc.DoCmd.DeleteObject acTable, "テーブル1"
    
    objAcc.Quit
    
    Set objAcc = Nothing

End Function

● 詳細 ●

 CreateObject関数の構文は次のとおりです。

<構文>CreateObject(class,[servername])

指定項目   内容 
class    必ず指定します。内部処理形式が文字型(String)のバリアント型
       (Variant)の値を指定します。作成するオブジェクトのクラスと
       アプリケーションの名前を指定します。 
       
servername  省略可能です。内部処理形式が文字型(String)のバリアント型
       (Variant)の値を指定します。作成するオブジェクトを保存する
       ネットワークサーバの名前を指定します。ローカルマシンで使用
       する場合は、空の文字列 ("") を指定します。

 OpenCurrentDatabaseメソッドは、既存のAccessデータベース(.mdb)をカレント
データベースとして開きます。
 構文は次のとおりです。

<構文> application.OpenCurrentDatabase dbname[, exclusive]

引数     内容 
application  Applicationオブジェクトです。
dbname    パス名およびファイル名の拡張子を含む、既存のデータベース
       ファイルの名前を示す文字列式です。ネットワークパスを指定する
       場合は、そのネットワークでサポートされている書式を指定します。
         \\Server\Share\Folder\Filename
exclusive   データベースを排他モードで開くかどうかを指定するブール型
       (Boolean)です。この引数は省略可能です。既定値はFalseで、
       データベースは共有モードで開かれます。 

 DeleteObjectメソッドの構文は、次のとおりです。

<構文> DoCmd.DeleteObject [objecttype][, objectname]

引数     内容 
 
objecttype  次のいずれかの組み込み定数を指定します。

acDataAccessPage
acDefault (既定値)
acDiagram
acForm
acMacro
acModule
acQuery
acReport
acServerView
acStoredProcdure
acTable 

objectname   引数objecttypeで選択した種類のオブジェクトの有効な名前を
        文字列式で指定します。 
        DeleteObject メソッドを含むVisual Basicのコードをライブラリ
        データベースで実行する場合は、この名前のオブジェクトが、
        最初にライブラリデータベースで、次にカレントデータベースで
        探索されます。 

 引数objecttypeおよびobjectnameを指定しないと、objecttypeには定数acDefault
(既定値)が使われ、データベースウィンドウで選択されたオブジェクトがコピーされます。
データベースウィンドウでオブジェクトを選択するには、"SelectObject/オブジェクト
の選択" アクション、または引数In Database WindowにYes(True)を設定した
SelectObjectメソッドを使うことができます。

Access2000



戻る


Excel Word Access VBA! モーグ