gpt4 book ai didi

sql - 参数太少。 (1) 预期

转载 作者:行者123 更新时间:2023-12-04 21:34:35 26 4
gpt4 key购买 nike

我正在使用 VBA 将参数传递给存储的查询,但不断收到错误消息。这是存储的查询:



PARAMETERS Parm1 Long;
UPDATE tJ010_SRP4Codes INNER JOIN tZ100_VendorProfiles
ON tJ010_SRP4Codes.SRP4Code = tZ100_VendorProfiles.JdeSRP4Code
SET tJ010_SRP4Codes.Vendor = 'TEST'
WHERE ((([Parm1]=tZ100_VendorProfiles.VendorID)));

这是调用查询的 VBA:



Dim Parm1 As Long
db.QueryDefs(!QueryName).Parameters(Parm1) = intVdrProfileID
db.Execute !QueryName, dbFailOnError

我已经尝试过在存储查询中使用和不使用“参数...”行。两种方式相同的错误。
存储的查询本身可以正常工作,只是在从 VBA 调用时不行。

最佳答案

使用 DAO.QueryDef对象,提供参数值,然后执行 QueryDef

Dim qdf As DAO.QueryDef
Set qdf = db.QueryDefs(!QueryName)
qdf.Parameters("Parm1").Value = intVdrProfileID
qdf.Execute dbFailOnError
Parameters("Parm1")表示名为 Parm1 的参数。没有引号, Parameters(Parm1) , Access 会将 Parm1 解释为变量。如果您没有这样的变量,则会引发错误。

也可以通过数字而不是名称来标识参数。编号是从零开始的,所以 Parameters(0)表示第一个参数。

注意我假设 !QueryName是记录集值,是已保存查询的名称。而且我不知道 intVdrProfileID 来自哪里,但假设它对参数值有效。

关于sql - 参数太少。 (1) 预期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31080146/

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