Ms access 访问VBA宏以运行直通查询
我有一个内置的传递查询Ms access 访问VBA宏以运行直通查询,ms-access,vba,pass-through,Ms Access,Vba,Pass Through,我有一个内置的传递查询Teradata,用于将数据导出到Excel电子表格。我正在尝试将其自动化,但当我运行宏或打开查询时,会弹出一个窗口询问数据源。我创建了一个ODBC连接,我认为必须有一种方法使宏传递数据源名称,这样它就可以在没有交互的情况下运行 编辑:根据请求添加宏 Function AutoExec() On Error GoTo AutoExec_Err DoCmd.OutputTo acOutputQuery, "Performance Interval Data", "Exce
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
两个问题(目前无法验证任何一个,因为我目前没有访问权限进行测试),但它看起来像:
filepath\filename.xlsx
,除非这是Excel工作表的实际位置和名称,否则可能会出现一些问题
我错了ODBC
相关C:\TEMP\TestExcelSheet.xlsx
)
话虽如此,你可能只想做这样的事情(尽管很难判断这是否是你真正想要的):
注意:
“acOutputQuery”
应该是直通式查询的实际名称,“C:\TEMP\TestExcelSheet.xlsx”
将是目标路径,True
将查询的标题添加到表中,False
忽略标题。您在ODBC查询中设置了连接字符串吗?您可以在谷歌上搜索无DSN连接字符串是否可以发布您尝试运行的宏?函数AutoExec()出错转到AutoExec_Err DoCmd.OutputTo acOutputQuery,“性能间隔数据”,“Excel工作簿(*.xlsx)”,“filepath\filename.xlsx”,False,“,acExportQualityPrint DoCmd.Quit acExit AutoExec_Exit:Exit Function AutoExec_Err:MsgBox Error$Resume AutoExec_Exit End Function我按照您的建议修改了代码,但我看到的唯一区别是导出已格式化列名。我的主要问题是,当我运行宏时,Access会弹出一个窗口来选择数据源。我需要阻止这种事情发生。
'Export Excel file from Query
DoCmd.TransferSpreadsheet acExport, , "acOutputQuery", _
"C:\TEMP\TestExcelSheet.xlsx", True