2016-08-18 66 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