将带游标的t-SQL查询转换为Microsoft Access

将带游标的t-SQL查询转换为Microsoft Access,sql,tsql,vba,ms-access,ms-access-2010,Sql,Tsql,Vba,Ms Access,Ms Access 2010,我的一位经理创建了一个Access数据库,正在进行一些数据分析——假设情况如何。根据不同的条件,他在Access中生成一个报告 他让我做一些数据操作,所以我将数据库导入到SQL中,并编写了一个带有游标的例程,他想怎么做就怎么做。然后将结果导出回Access。在我使用光标之前,这应该是一次性交易,所以这是我完成任务的最快方式 正如您所料,现在他希望我一直运行它,并要求我将例程转换为Access,这样他就可以运行它了。在你告诉我只使用SQL之前,他非常喜欢Access,经常出差和离线 所以,我的问题

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

他让我做一些数据操作,所以我将数据库导入到SQL中,并编写了一个带有游标的例程,他想怎么做就怎么做。然后将结果导出回Access。在我使用光标之前,这应该是一次性交易,所以这是我完成任务的最快方式

正如您所料,现在他希望我一直运行它,并要求我将例程转换为Access,这样他就可以运行它了。在你告诉我只使用SQL之前,他非常喜欢Access,经常出差和离线

所以,我的问题是:有没有一种“简单”的方法可以将带有游标的T-SQL查询转换为Access?我已经很久没有使用Access了,但我怀疑它必须用VBA重新编写。我认为另一种解决方案可能是从Access调用查询并在SQL中运行它,但我不知道这是否可以实现,或者因为他离线(可能在他的笔记本电脑中安装SQL express?)

如有任何建议,将不胜感激

谢谢,
Alex这是我如何摆脱它的:

 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。大团圆结局!:)

简单的方法?将TSQL转换为不使用光标!您还是您的上司希望Access应用程序继续依赖SQL Server?如果需要针对Access数据库中的实时数据运行此过程,则将此过程保留在T-SQL中可能会有问题。据推测,有一种方法可以使用OLEDB将Access数据库作为SQL Server中的“链接服务器”连接起来,但我曾多次尝试进行设置,但始终无法使其实际工作:(我使用带有游标的SQL查询,因为我很久没有使用Access了,t-SQL对我来说是一个简单/快速的解决方案。我的老板更喜欢使用Access,因为他经常离线,熟悉Access报告。我同意Gord Thompson的观点,SQL只是增加了另一个层次的复杂性。即使我重新编写查询以使用CTE或temp table,这是一个很容易移植到Access的东西吗?Access理解t-sql吗?还是我需要弄清楚如何使用VBA重新编写整个内容?我将查询更改为使用带有循环的SET命令而不是光标。有没有办法在Microsoft Access中运行该命令?