データベースを作成する(ADOX)
2017/10/23
ADOX を使用してデータベース(Access)を作成
Catalog オブジェクト
<CreateObject 関数を使用する場合>
Dim cat As Object
Set cat = CreateObject(“ADOX.Catalog”)
<参照設定を行う場合>
Dim cat As ADOX.Catalog
Set cat = New ADOX.Catalog
参照設定を行うライブラリファイルについて
Microsoft ADO Ext.6.0 for DDL and Security を選択します。ただし、Office 等のバージョンにより、ADOX のバージョンも異なります。参照設定の方法については、ファイルシステムオブジェクト(FileSystemObject)の使い方 を参照してください。
CreatObject 関数 を使用する場合は、参照設定の必要はありませんが、VBE で、自動メンバ表示等のコーディング支援機能が使用できません。また、マクロの実行速度も遅くなります。
Create メソッド
object.Create ConnectString
引数・戻り値
- object ・・・ 対象となる Catalog オブジェクトを指定します。
- ConnectString ・・・ データベースの接続文字列をあらわす文字列(String)を指定します。
【Access 2007以降】
Provider=Microsoft.ACE.OLEDB.12.0;Data Source=xxxxx.accdb
【Access 2003以前】
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=xxxxx.mdb
ADOX を使用してデータベース(Access)を作成する例
サンプルVBAソース その1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
Sub Sample_ADOX_CreateDatabase() '参照設定:Microsoft ADO Ext.6.0 for DDL and Security Dim cat As ADOX.Catalog Dim ConStr As String Dim DBFile As String On Error GoTo ErrHandler '新規作成するデータベースのパスと名前 'Access 2007以降(accdb ファイル) DBFile = ActiveWorkbook.Path & "\mydb2.accdb" ConStr = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & DBFile 'Access 2003以前(mdb ファイル) 'DBFile = ActiveWorkbook.Path & "\mydb2.mdb" 'ConStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & DBFile Set cat = New ADOX.Catalog cat.Create ConStr ErrHandler: If Err.Number <> 0 Then MsgBox Err.Number & vbCrLf & Err.Description End If Set cat = Nothing End Sub |
実行前
実行後
サンプルVBAソース その2
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
Sub Sample_ADOX_CreateDatabase() Dim cat As Object Dim ConStr As String Dim DBFile As String On Error GoTo ErrHandler '新規作成するデータベースのパスと名前 'Access 2007以降(accdb ファイル) DBFile = ActiveWorkbook.Path & "\mydb2.accdb" ConStr = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & DBFile 'Access 2003以前(mdb ファイル) 'DBFile = ActiveWorkbook.Path & "\mydb2.mdb" 'ConStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & DBFile Set cat = CreateObject("ADOX.Catalog") cat.Create ConStr ErrHandler: If Err.Number <> 0 Then MsgBox Err.Number & vbCrLf & Err.Description End If Set cat = Nothing End Sub |
関連記事
-
-
レコードを並べ替える(ADO)Sort プロパティ
データベースのレコードを並べ替える Sort プロパティ 【書式】 object …
-
-
レコードの更新(ADO)Update メソッド
データベースのレコードを更新する Update メソッド カレントレコードの内容 …
-
-
テーブルの作成・削除/フィールドの作成・削除(ADOX)
ADOX を使用してテーブル・フィールド(列)を作成・削除 Table オブジェ …
-
-
データベース(Oracle)に接続する(ODBC を使用)
ODBC接続(ADO) ADOで、ODBC(Open Database Conn …
-
-
Recordset オブジェクトの内容をワークシートにコピーする(CopyFromRecordset メソッド・ADO)
CopyFromRecordset メソッド ADO の Recordset オ …
-
-
レコードの追加(ADO)AddNew メソッド,Update メソッド
データベースにレコードを追加する AddNew メソッド 新規レコードを追加し、 …
-
-
テーブル名、クエリ名の取得(ADOX)
テーブル名の取得 Table.Type プロパティ 【書式】 <取得> obje …
-
-
クエリの作成・削除(ADOX)
ADOX を使用してクエリを作成・削除 クエリを作成する手順 【書式】 <参照設 …
-
-
SQL文を実行する(ADO)Execute メソッド
Command オブジェクトの Execute メソッドで、SQL文を実行 Co …
-
-
クエリにパラメータを渡して結果を取得する(ADO)Command オブジェクト・Execute メソッド
クエリにパラメータを渡して結果を取得する手順 Command オブジェクトの作成 …