将SQL Server查询结果复制到Access 2010表中

时间:2012-09-11 09:24:34

标签: sql-server-2008 ms-access-2010

每月,我需要从我们的SQL Server业务应用程序中获取包含所有“管理报告”的Access 2010数据库中的“新”数据。 Access数据库有一个“临时表”,用于包含报告所基于的原始数据。

我没有Access体验,但我建议我们:

  1. 在我们的SQL Server上写一个查询(存储过程?),它返回所需的原始数据(......这很容易。)
  2. 在每个月末,从Access 2010中调用SQL Server存储过程(...单击按钮?)
  3. 将存储过程的结果保存到Access中的登台表中。
  4. 但我发现它比我想象的要难。我想我可以在代码隐藏中使用ADODB工作,在记录集中逐个循环,然后逐个设置列值。但必须有更好的方法:)

    • 如何从Access 2010获取SQL Server数据? (ADODB?DAO?QueryDesigner?其他?)

    • 我可以利用“插入记录集到表”(或类似)机制吗?

1 个答案:

答案 0 :(得分:1)

将相关的sql server表或视图链接到MS Access。使用MS Access语法对链接表运行查询并更新登台表。

还可以在查询中使用SQL Server的内联连接字符串更新MS Access表。

SELECT *
INTO   newtable
FROM   [odbc;filedsn=Z:\DSN\test.dsn].table1

在SQL Server端工作,您可以将MS Access用作链接服务器,也可以从那里运行查询和更新。

INSERT INTO
OPENDATASOURCE(
   'Microsoft.ACE.OLEDB.12.0', 'Data Source=z:\docs\test.accdb')...[table1] 
   ( atext )
SELECT atext FROM table1 WHERE id=2