2016-08-18 65 views
-1

在我的主要Access 2016数据库中,使用VBA,我想在磁盘上创建一个SEPARATE临时Access 2016数据库。使用CSV中的数据在临时数据库中创建一个表,然后在主数据库中创建一个链接到临时数据库中新创建的表。现在我应该能够在临时数据库表上运行查询。使用VBA代码创建Access 2016 DB代码

整件事情有点令人难以置信。到目前为止,我有下面的代码创建数据库,但它提供了“类未注册”错误行Catalog.Create dbConnectStr也此代码创建一个mdb文件,而不是一个accdb文件。那是问题吗?

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)文件或数据库表吗?这两个是完全不同的操作。而且通常不会在应用程序代码中使前者自动化。 – Parfait

+0

我想创建单独的数据库。 – Kashif

回答

0

这是一个创建新的数据库的例子,而不在Access的当前工作实例中打开它。

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