将MS Access查询导出到Excel

时间:2011-07-13 21:45:13

标签: ms-access

在Access中,我知道有一个“用Microsoft Office Excel分析它”选项,但是我正在创建一个数据库,并且请求这个的人希望表单上的命令按钮执行与“分析它”相同的操作用Microsoft Office Excel“按钮可以。所以我的问题是,任何人都可以帮助我编写vba代码以将MS Access查询导出到Excel中,格式化“使用Microsoft Office Excel分析它”的确切方式吗?

1 个答案:

答案 0 :(得分:2)

我会使用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