1

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

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

  1. 在我们的 SQL Server 上编写一个查询(存储过程?),返回所需的原始数据(......这很容易。)
  2. 在每个月底,从 Access 2010 中调用 SQL Server 存储过程(...单击按钮?)
  3. 将存储过程的结果保存到 Access 中的临时表中。

但我发现它比我预期的要难。我想我可以在代码隐藏中使用 ADODB 得到一些丑陋的工作,一个接一个地循环记录集中的行,然后一个接一个地设置列值。但必须有更好的方法:)

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

  • 是否有我可以利用的“将记录集插入表”(或类似的)机制?

4

1 回答 1

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
于 2012-09-11T09:34:24.623 回答