是否有我可以使用的代码,通过它可以将交叉表查询导入到Excel中并将其链接到Excel中?将Access交叉表查询链接并导入到Excel中
目前,这些是我用来从交叉表查询中导入数据的步骤。 数据>>导入外部数据>>新建数据库查询>> MS Access数据源* >>浏览到我的数据库>>选择交叉表查询名称>>选择我想要的数据。
我需要链接查询,因为会有额外的信息输入。例如。本月是11月份,我需要将本月收到的数据输入系统。
是否有我可以使用的代码,通过它可以将交叉表查询导入到Excel中并将其链接到Excel中?将Access交叉表查询链接并导入到Excel中
目前,这些是我用来从交叉表查询中导入数据的步骤。 数据>>导入外部数据>>新建数据库查询>> MS Access数据源* >>浏览到我的数据库>>选择交叉表查询名称>>选择我想要的数据。
我需要链接查询,因为会有额外的信息输入。例如。本月是11月份,我需要将本月收到的数据输入系统。
,而不是导入数据,在Excel中的:
这假定数据库在每次和每次刷新时都处于相同的物理位置,您可以连接到此源。
我发现,你不能,如果后端数据库ACCDB文件
访问“你应该在这里指出,虽然目前还无法导入交叉来自Access的查询,您可以将支持交叉表的数据作为数据透视表报告导入(毕竟,数据透视表基本上是Excel的Access Crosstab查询版本)。“
您必须导入源数据,然后创建一个数据透视表
但是你可以用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
'e.g.ImportCrosstab "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
出于某种原因,Excel将不会在本交叉表查询您可以选择的表/查询列表,但可以在没有VBA的情况下添加它,并且之后它将像更普通的表一样更新,但您必须在连接属性中键入一些基本的SQL。
指令是为Excel 2016 &不是在以前的版本进行测试。
创建在同一个Access数据库作为您的交叉表查询数据链接到不同的表或者查询(从平时的数据 - >从接入)。
点击在新表中所示的任何位置,从设计选项卡中单击属性以打开外部数据属性对话框。
选择旁边的小按钮“名称:”字段中,在右侧打开连接属性。
转到定义选项卡并更改命令类型为 “SQL”
输入SQL的基本位: SELECT YourCrossTabQueryName * FROM YourCrossTabQueryName
点击OK。
这应该刷新显示交叉表的表格。