2015-11-04 226 views
1

Excel VBA中的子例程在Access數據庫中運行宏。這將數據庫中的表導出到.csv文件。我在我的電腦上安裝了Access,但其他人也需要使用它,因此請參閱錯誤消息。Access應用程序的替代方案

是否有任何其他方法可以用來從Access運行宏,除了在我的代碼中創建一個對象,也許像ADODB?

我的Excel VBA代碼:

Dim accApp As Object 
Set accApp = CreateObject("Access.Application") 


dbPath = ThisWorkbook.Path & "\Database\STORE_TOC_FRONTEND.accdb" 

accApp.OpenCurrentDatabase dbPath 
accApp.DoCmd.RunMacro "Create SS Upload" 

Set accApp = Nothing 

回答

0

呀做出一個ADODB連接對象,一個ADODB記錄對象。未經測試的代碼如下。

set conn = CreateObject("ADODB.Connection") 
conn.Provider="Microsoft.Jet.OLEDB.4.0" 'Or Microsoft.ACE.OLEDB.12.0 for 2007+ version of access 
conn.Open "c:/webdata/northwind.mdb" 'path to your db 

set objRecordset=CreateObject("ADODB.Recordset") 
objRecordset.open("Select * from SomeTable",conn,0,3,1) 

'do you work here, something like a loop for each field and for each row 

objRecordset.close 
conn.close