gpt4 book ai didi

ms-access - 如何从 VBA 代码执行 PostgreSQL 函数?

转载 作者:行者123 更新时间:2023-11-29 12:48:16 25 4
gpt4 key购买 nike

如何从 VBA 代码执行存储在 PostgreSQL 中的名为 Test1 的函数?

例如,我们有一个函数定义如下:

CREATE OR REPLACE FUNCTION "public"."Test1" (
)
RETURNS bit AS
$body$
BEGIN
INSERT INTO test ("name") VALUES ('1');
RETURN 1;

END;
$body$
LANGUAGE 'plpgsql'
VOLATILE
CALLED ON NULL INPUT
SECURITY INVOKER
COST 100;

现在我正尝试以这种方式执行此功能:

Function TestCall()
Dim dbs As DAO.Database
Dim qdf As DAO.QueryDef
Dim rst As DAO.Recordset

Dim strSQl As String

strSQl = "SELECT * FROM Test1();"

Set dbs = CurrentDb

Set rst = dbs.OpenRecordset(strSQl, dbOpenDynaset, dbSeeChanges)
'this doesnt work as well: syntax error'
dbs.Execute strSQl


If Not (rst.BOF And rst.EOF) Then
do some work here
End If

End Function

但是我遇到了 Syntax Error near FROM。我不知道如何执行此操作,如何完成?

最佳答案

您可以为 PostGreSQL 函数使用 Access“直通”查询。

我在我的 PostGreSQL 服务器上创建了你的函数和表。然后在 Access 中创建一个新的传递查询。我为查询的 SQL 属性使用了 PostGreSQL 语句。

SELECT Test1();

(我不需要 FROM 子句。)

在查询属性表上,我分配了 ODBC 连接字符串,并为“返回记录”属性选择了是。然后可以从 Access 用户界面运行查询,或从 VBA 代码使用查询以打开基于该查询的 DAO 记录集。

关于ms-access - 如何从 VBA 代码执行 PostgreSQL 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3863503/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com