将 MS Access 查询导出到 Excel
Posted
技术标签:
【中文标题】将 MS Access 查询导出到 Excel【英文标题】:Export MS Access query into Excel 【发布时间】:2011-07-13 21:45:12 【问题描述】:在 Access 中,我知道有一个“使用 Microsoft Office Excel 分析它”选项,但我正在创建一个数据库,并且请求这个的人希望表单上的命令按钮执行与“分析它”相同的操作使用 Microsoft Office Excel”按钮。所以我的问题是任何人都可以帮助我编写 vba 代码以,按照“使用 Microsoft Office Excel 分析”的确切方式格式化吗?
【问题讨论】:
【参考方案1】:我会使用DoCmd.TransferSpreadsheet
...除了你说你想要与从“使用 Microsoft Office Excel 分析它”得到的格式完全相同的格式
要复制格式,您可以使用:
DoCmd.RunCommand acCmdOutputToExcel
但是,这会从活动对象创建电子表格,并且如果从表单上的命令按钮运行,则该表单将是活动对象...因此您将创建表单的电子表格...不是你想要什么。
由于您的目标是创建查询的电子表格,请添加一个文本框 (txtQueryName) 供用户指示要导出的查询。
那么你的命令按钮点击事件可能是这样的:
Private Sub cmdAnalyzeWithExcel_Click()
DoCmd.OpenQuery Me.txtQueryName
DoCmd.RunCommand acCmdOutputToExcel
DoCmd.Close acQuery, Me.txtQueryName
End Sub
这很粗略,但它适用于 Access 2003。我认为更好的方法是加载具有可用查询名称的组合或列表框控件,并让用户从那里进行选择。你只能靠自己。
如果是我,我不会尝试通过命令按钮执行此操作。我认为自定义菜单或功能区项目会更合适。或者,创建一个 AutoKeys 宏可能更简单,它分配一个键盘快捷键来运行一个过程(或调用另一个宏),该过程执行 DoCmd.RunCommand acCmdOutputToExcel
如果 AutoKeys 听起来不错,请参阅 Run an Access macro by using a keyboard shortcut
【讨论】:
以上是关于将 MS Access 查询导出到 Excel的主要内容,如果未能解决你的问题,请参考以下文章
使用 VBA 或 PowerShell 将所有 MS Access SQL 查询导出到文本文件