我正在使用ACCESS数据库生成相对较大的数据集的报告。由于我不想永远等待并且ACCESS有一定的大小限制,我在我的服务器上执行复杂的SQL查询。
现在我想在ACCESS中使用这个复杂的SQL查询的结果做一些最终的东西,然后以表格形式显示。
我知道如何将ACCESS直接连接到数据库表,我也知道如何在那里工作。但是在这里我有一个差距:我有几千行的SQL并将结果作为记录集接收。如何让ACCESS在自己的架构中接受这个?
Dim SQL As String
Dim conn As ADODB.Connection
Dim rs As ADODB.Recordset
'SQL query
SQL = " SELECT something quite complex and long"
Set conn = New ADODB.Connection
conn.ConnectionString = "my great server"
conn.Open
Set rs = New ADODB.Recordset
rs.Open SQL, conn
'--- here is my personal gap ---
conn.Close
答案 0 :(得分:1)
如果您的“非常复杂”的SQL代码是存储过程 - 您可以执行该操作并使用传递查询从中返回结果。见Two ways to execute a Stored procedure in VBA, Which one is better?
如果是View,您只需链接到视图,就像表格一样。
答案 1 :(得分:0)
select * from myComplexPTQ into myLocalTable
如果您使用普通查询而不是 passthru ,并且发现它很慢,我建议您查看http://allenbrowne.com/QueryPerfIssue.html