我在Teradata
内置了一个传递查询,用于将数据导出到Excel电子表格。我试图自动化它,但是当我运行宏或打开查询时,会弹出一个窗口询问数据源。我创建了一个ODBC连接,并且我认为必须有一种方法可以让宏传递数据源名称,这样它就可以在没有交互的情况下运行。
修改:按要求添加宏
Function AutoExec()
On Error GoTo AutoExec_Err
DoCmd.OutputTo acOutputQuery, "Performance Interval Data", "ExcelWorkbook(*.xlsx)", _
"filepath\filename.xlsx", False, "", , acExportQualityPrint
DoCmd.Quit acExit
AutoExec_Exit:
Exit Function
AutoExec_Err:
MsgBox Error$
Resume AutoExec_Exit
End Function
答案 0 :(得分:0)
一些担忧,(现在无法验证这些内容,因为我目前无法访问Access进行测试),但它看起来像:
filepath\filename.xlsx
,除非这是Excel工作表的实际位置和名称
对我不对。ODBC
有关。但是,至少应该从修复文件路径问题开始。这应该是Excel文件的完整路径以及文件的全名。 (即C:\TEMP\TestExcelSheet.xlsx
)
所有这一切,你可能想要用这样的东西(虽然这有点难以判断这是否是你真正想要的):
'Export Excel file from Query
DoCmd.TransferSpreadsheet acExport, , "acOutputQuery", _
"C:\TEMP\TestExcelSheet.xlsx", True
注意:"acOutputQuery"
应该是直通查询的实际名称,"C:\TEMP\TestExcelSheet.xlsx"
将是您的目标路径,而True
会添加查询&#39}。将标题添加到工作表中,False
忽略标题。