使用记录集在ACCESS中生成新表

时间:2017-11-09 13:52:37

标签: ms-access

我正在使用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

2 个答案:

答案 0 :(得分:1)

如果您的“非常复杂”的SQL代码是存储过程 - 您可以执行该操作并使用传递查询从中返回结果。见Two ways to execute a Stored procedure in VBA, Which one is better?

如果是View,您只需链接到视图,就像表格一样。

答案 1 :(得分:0)

  1. 使用您的复杂请求创建一个passthru查询(或正常查询)并保存它
  2. 创建一个基本上包含
    的Make Table Access查询 select * from myComplexPTQ into myLocalTable
  3. 完成
  4. 如果您使用普通查询而不是 passthru ,并且发现它很慢,我建议您查看http://allenbrowne.com/QueryPerfIssue.html