ms-access - 通过vba Access excel 2010的查询以创建图表

标签 ms-access excel vba

经过广泛的搜索,我无法找到任何我能理解的信息。有很多例子,但这些都是针对access 2003的,在access 2010中不起作用。

我需要运行一个 vba 代码,将查询结果 (QryTotalSale) 导出到 excel 2010,并自动创建数据条形图并在正在运行的数据库上显示该数据。

如果有人能给我一些建议,或者甚至是 2010 年有效资源的链接,我将不胜感激。

到目前为止,我可以打开 Excel,并显示相关查询的结果。

为了让它变得更困难,我真的需要查询来打开一个特定的 Excel 文件,该文件将位于桌面上的一个文件夹中,每次按下按钮运行 VBA 时,都应该将一个新页面添加到 Excel 中工作簿和新图表将被显示,并保存到电子表格中,以便稍后可以查看整个 Excel 文件。

我有以下代码,但它不起作用。关于范围的部分可以在 Excel 中使用,但是 access 似乎无法识别范围(这并没有真正让我感到惊讶,因为据我所知,它并不真正适用于范围。)

我的第二个想法是运行前两个 doCmd,然后强制下一个在 Excel 文件中自动运行。

Private Sub SalesImage_Click()

DoCmd.OpenQuery "QryTotalSale"
DoCmd.RunCommand acCmdOutputToExcel


          Dim myRange as range
                    Set myRange = B2 * C30
                                            Charts.Add
                                ActiveChart.ChartType = xlColumnClustered
                    ActiveChart.SetSourceData Source:=myRange, _
        PlotBy:=xlColumns
ActiveChart.Location Where:=xlLocationAsNewSheet
End Sub

我发现了 2003 版本的 access 和 excel 的 adodb 代码类型,但无法让它工作。一半的选项似乎不再被 Access 识别...

我还有很长的路要走,非常感谢任何帮助。

谢谢

山姆

最佳答案

这里有一些注释。我使用了后期绑定(bind),因此您不需要设置对 Excel 库的引用,但是,我已包含有关类型的注释。

Dim xl As Object ''Excel.Application
Dim wb As Object ''Excel.Workbook
Dim ws As Object ''Excel.Worksheet
Dim ch As Object ''Excel.Chart
Dim myRange As Object

Set xl = CreateObject("Excel.Application")

sExcelWB = "z:\docs\testchart.xls"

''This will overwrite any previous run of this query to this workbook
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "Query1", _
      sExcelWB, True

Set wb = xl.Workbooks.Open(sExcelWB)

''Sheets are named with the Access query name
Set ws = wb.Sheets("Query1")
Set ch = xl.Charts.Add
ch.ChartType = xlColumnClustered

xl.Visible = True
xl.UserControl = True
''Still not saved

关于ms-access - 通过vba Access excel 2010的查询以创建图表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9974250/

相关文章:

sql - 将 Ms sql server 查询转换为 Ms Access?

java - 如何使用 apache POI 将带有形状的工作表页面转换为图片或 HTML?

vba - Range(...).Formula 不能完全翻译

vba - 打开 XLSM 文件时禁用 Windows Media Player 视频自动播放

excel - 使用开放文档和网络服务

sql-server - 如何使用VBA加速Access和SQL Server之间的表传输?

ms-access - 在 Access 表单中过滤

php - Microsoft 使用 PHP 和 PDO Access

excel - 如何在 Azure 逻辑应用中解析 Excel 电子表格

python - 如何从 Excel 工作表中提取值,其中很少有行被格式化为数字,但在 Python 中很少有文本