0

我的一位经理创建了一个 Access 数据库,并且正在进行一些数据分析——假设场景。根据不同的情况,他在Access中生成报告。

他让我做一些数据操作,所以我将数据库导入 SQL 并编写了一个带有游标的例程,它可以做他想做的事情。然后我将结果导出回 Access。在我因使用光标而受到任何关注之前,这应该是一次性的交易,所以这是我完成它的最快方法。

如您所料,现在他希望我一直运行它,并要求我将例程转换为 Access,以便他可以运行它。在您告诉我只使用 SQL 之前,他对 Access 非常熟悉,并且经常出差和离线。

所以,我的问题是:是否有一种“简单”的方法可以将带有游标的 T-SQL 查询转换为 Access?自从我使用 Access 以来已经有很长时间了,但我怀疑它必须用 VBA 重新编写。我在想也许另一种解决方案是从 Access 调用查询并在 SQL 中运行它,但我不知道这是否可以完成,或者由于他离线(也许在他的笔记本电脑上安装 SQL Express?)

任何建议,将不胜感激。

谢谢,亚历克斯

4

1 回答 1

1

这就是我解决它的方法:

 1.Downloaded and install SQL server express in the user's machine.
 2.uploaded Access database structure and data to the local SQL.
 3.created the stored procedure that I wanted to run in the local SQL server.
 4.back in Access, deleted all the tables and recreated them as linked tables to SQL
 5.Create a form in Access with a big button that executes the stored procedure
    `Private Sub Command0_Click()
     Dim qdf As DAO.QueryDef
     Set qdf = CurrentDb.CreateQueryDef("")
     qdf.Connect = CurrentDb.TableDefs("ANY TABLE").Connect
     qdf.SQL = "EXEC dbo.[stored procedure name]"
     qdf.ReturnsRecords = False
     qdf.Execute
     Set qdf = Nothing`

存储过程截断一个重新填充表之一。所以执行它后,我可以在 Access 中打开表并查看更改。我的经理可以继续使用Access,并且在后端使用SQL Server。美好的结局!:)

于 2013-10-31T15:11:41.843 回答