将Access交叉表查询链接并导入到Excel中

有没有我可以使用的代码,我可以导入一个交叉表查询到Excel中,也链接它?

目前,这些是我用来从交叉表查询中导入数据的步骤。 数据>>导入外部数据>>新build数据库查询>> MS Access数据源* >>浏览到我的数据库>>select交叉表查询名称>>select我想要的数据。

我需要链接查询,因为会有额外的信息input。 例如,这个月是十一月,我需要把这个月收到的数据input系统。

而不是导入数据,在Excel中:

  1. 从文件菜单中select数据
  2. select您要从中提取数据的访问对象(表或查询)。
  3. 数据加载在Excel中
  4. 只要你想更新数据,右键单击数据并select刷新,如果存在多个链接,则select刷新全部。

这假设数据库每次都在同一个物理位置,每次刷新时都会连接到这个数据源。

在这里输入图像说明

我发现,如果后端数据库是一个Access accdb文件,你不能

https://excelandaccess.wordpress.com/2013/07/26/how-to-import-access-data-to-excel-using-the-get-external-data-from-access-option/

“您应该在此处注意,虽然当前无法从Access导入交叉表查询,但是您可以将支持交叉表的数据作为数据透视表报表(毕竟,数据透视表基本上是Access的交叉表查询的Excel版本)。 “

您必须导入源数据,然后创build数据透视表

但是你可以用VBA做到这一点:

Function ImportCrosstab(TheDB As String, TheCrosstab As String, TheSpreadsheet As String) 'requires a reference to the Microsoft Office Access Database Engine 12.0 Object Library 'egImportCrosstab "C:\Databases\Newdatabase.accdb", "Q_stage_crosstab", "CompliancebyStage" Dim db As Database Dim qdf As QueryDef Dim rs As Recordset Dim ws As Worksheet Dim strConnection As String Dim j As Long Dim xls As Object 'your Excel.Application with sheet activated Set ws = ThisWorkbook.Worksheets(TheSpreadsheet) Set db = OpenDatabase(TheDB) Set qdf = db.QueryDefs(TheCrosstab) Set rs = qdf.OpenRecordset With ws For j = 0 To rs.Fields.Count - 1 .Cells(1, j + 1).Value = rs.Fields(j).Name Next .Range("A2").CopyFromRecordset rs End With rs.Close End Function