将 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的主要内容,如果未能解决你的问题,请参考以下文章

将 MS Access 查询导出到 Excel

使用 VBA 或 PowerShell 将所有 MS Access SQL 查询导出到文本文件

从 MS Access 中将交叉表查询结果导出到 Excel

MS Access导出联合查询到Excel,VBA问题

将 MS-Access 表单结果导出到 Excel?

使用 vba 将 MS Access 查询输出到 Excel