【问题标题】:Connection string for Access to call SQL Server stored procedureAccess 调用 SQL Server 存储过程的连接字符串
【发布时间】:2013-09-10 22:18:37
【问题描述】:

使用 Access 2007,我想用一个返回记录集的输入参数调用存储过程。

使用 ADODB,除了连接字符串之外,这非常简单。我希望能够从特定表中派生服务器和数据库名称,该表始终指向正确的服务器和数据库。 (我不时通过重新链接 100 个左右的链接表重新连接到开发数据库进行测试。)

有没有一种方法可以从 tabledef 中获取服务器和数据库名称而无需解析整个内容?有财产吗?我还没找到……

最终查询非常简单:EXEC sp_DeleteProjects N'12,24,54' 删除项目 12、24 和 54,并返回一个记录集(单行),其中包含各个子表条目的已删除记录计数。

【问题讨论】:

    标签: ms-access stored-procedures ms-access-2007 adodb


    【解决方案1】:

    如果您已经有一个指向 SQL Server 数据库的 Access 链接表,那么您可以简单地使用其 .Connect 字符串和 DAO.QueryDef 对象来执行存储过程,如下面的 VBA 代码所示:

    Sub CallSP()
    Dim qdf As DAO.QueryDef, rst As DAO.Recordset
    Set qdf = CurrentDb.CreateQueryDef("")
    qdf.Connect = CurrentDb.TableDefs("dbo_MyTable").Connect
    qdf.SQL = "EXEC dbo.MyStoredProcedure"
    qdf.ReturnsRecords = True
    Set rst = qdf.OpenRecordset(dbOpenSnapshot)
    Debug.Print rst(0).Value
    rst.Close
    Set rst = Nothing
    Set qdf = Nothing
    End Sub
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-09-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多