2016-08-18 7 views
-1

VBAを使用している私の主要なAccess 2016 dbでは、ディスク上に一時的なAccess 2016 dbを別個に作成したいと考えています。私はCSVで持っているデータを使用してtemp dbの内部にテーブルを作成し、次にメインdbにtemp dbの新しく作成されたテーブルへのリンクを作成します。これで、temp dbテーブルでクエリを実行できるはずです。VBAコード付きアクセス2016 DBの作成

全体的にはちょっと心配です。これまでのところ、dbを作成するための以下のコードがありますが、 "Class not registered"というエラーが表示されます。Catalog.Create dbConnectStrこのコードは、accdbファイルの代わりにmdbファイルを作成します。問題ありますか?

Dim dbConnectStr As String 
Dim Catalog As Object 
Dim cnt As ADODB.Connection 
Dim dbPath As String 

dbPath = "C:\TempDB.mdb" 
dbConnectStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & dbPath & ";" 

'Create new database 
Set Catalog = CreateObject("ADOX.Catalog") 
Catalog.Create dbConnectStr 
Set Catalog = Nothing 

'Connect to database and insert a new table 
Set cnt = New ADODB.Connection 
'' create table here 
Set cnt = Nothing 
+0

はhttps://msdn.microsoft.com/en-us/library/office/ff195271.aspx – Sorceri

+0

がより明確にしてくださいを参照してください。既存のデータベースに別のデータベース(.mdb/.accdb)ファイルまたはデータベーステーブルを作成しますか?これらの2つは全く異なる操作です。そして、通常はアプリケーションコードで前者を自動化しません。 – Parfait

+0

私は別のデータベースを作成したい。 – Kashif

答えて

0

ここでは、Accessの現在の作業インスタンスで開いていなくても新しいDBを作成する例を示します。

Sub CreateMeANewDatabasePlease(dbPathAndName As String) 

Dim aApp As Access.Application 

    Set aApp = New Access.Application 
    aApp.NewCurrentDatabase dbPathAndName, acNewDatabaseFormatUserDefault 
    aApp.Quit 

End Sub 

Sub StartHere() 
    CreateMeANewDatabasePlease ("SomePath\TheDB.accdb") 
End Sub 
関連する問題