2013-06-21 117 views
0

我有一個xlsx文件,其中有一些標題,直到第6行。 我需要獲取查詢的結果並將它們放入第7行的文件中向前。我不知道我追加或導出查詢結果。access vba將查詢結果追加到XML文件

Const acExportQuery = 1 
Set objAccess = CreateObject("Access.Application") 
objAccess.OpenCurrentDatabase "\HealthyImmunity Contact Manager - V1.53.adp" 
objAccess.ExportXML acAppendData, "c:\scripts\testOrder.xlsx", "col_USbatchOrders" 

任何人有任何想法?

回答

0

下面是一個示例代碼,你可以從Excel觸發..它添加到workbook_open即使在Excel中,它應該從數據庫中導入查詢執行結果

Sub GetData() 

Dim cnn As ADODB.Connection 

Dim rs As ADODB.Recordset 

Dim sQRY As String 

Dim strFilePath As String 

strFilePath = "\HealthyImmunity Contact Manager - V1.53.adp" 
Set cnn = New ADODB.Connection 
Set rs = New ADODB.Recordset 
Sheet1.Range("DataRange").ClearContents 
cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _ 
    "Data Source=" & strFilePath & ";" 
sQRY = "SELECT tblData.* FROM tblData" 
rs.CursorLocation = adUseClient 
rs.Open sQRY, cnn, adOpenStatic, adLockReadOnly 
Application.ScreenUpdating = False 
Sheet1.Range("B2").CopyFromRecordset rs 
rs.Close 
Set rs = Nothing 
cnn.Close 
Set cnn = Nothing 
Exit Sub 

末次

+0

感謝您的幫助,我實際上運行MS訪問,所以我不知道如何讓它準確工作。任何人都有類似於我的原始代碼的例子嗎? – Col

+0

在這段代碼中,我們使用ADODB連接從數據庫獲取信息,而不是試圖將訪問數據追加到excel中。這更容易,因爲您可以自定義如何將數據填充到Excel表格中。 – xtechkid

+0

當我運行它時,它給了我錯誤。 Application.ScreenUpdating = False - 未找到方法或數據記錄。查詢結果的順序已經匹配到我想要的xml中的正確順序。 – Col