2013-06-21 95 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