【问题标题】:How to call SQL-Server user-defined function using access vba如何使用 access vba 调用 SQL-Server 用户定义函数
【发布时间】:2020-08-09 12:09:05
【问题描述】:

可以使用access vba代码调用window sql数据库用户自定义函数吗?

我在sql数据库中发现了一个函数调用db.testFunction(id);我使用 SQLNCL11.1 作为提供程序,并使用 ADODB 进行连接。

如何在访问vba代码中使用该功能?

【问题讨论】:

标签: sql-server vba ms-access


【解决方案1】:

假设这个应用程序有有效的链接表?

然后只需创建一个传递查询。输入你的函数,前面有一个 select 语句。运行 pt 查询。它应该返回您的值。 因此,在查询生成器中,创建该 PT 查询。 对于 PT 查询的来源,您可以输入任何有效的 t-sql,但在这种情况下,输入函数的测试是有意义的。

这样说:

SELECT dbo.textFunction(12)

如果可行(并确保您可以正常工作 - 您没有编写任何代码)。一旦你的 PT 查询工作了?

然后你可以使用这个 VBA 代码:

Sub Test33434()

   Dim lngID           As Long
   Dim lngReturnValue  As Long
   
   lngID = 1234
   
   With CurrentDb.QueryDefs("qryPass")
      .SQL = "select dbo.testFunction(" & lngID & ")"
      lngReturnValue = .OpenRecordset()(0)
   End With

End Sub

所以,在上面我们有我们传递的值和返回值。 请注意我们如何不必在代码中处理任何连接对象 - 所以使用保存的 PT 查询很好,因为代码中没有连接字符串。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-06-30
    • 2011-01-25
    • 1970-01-01
    • 1970-01-01
    • 2015-07-19
    • 1970-01-01
    • 2016-11-25
    • 1970-01-01
    相关资源
    最近更新 更多