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