Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在VBA SQL WHERE子句中使用变量时出现问题_Sql_Database_Vba_Ms Access - Fatal编程技术网

在VBA SQL WHERE子句中使用变量时出现问题

在VBA SQL WHERE子句中使用变量时出现问题,sql,database,vba,ms-access,Sql,Database,Vba,Ms Access,我正在尝试使用VBA中的变量更新表以进行访问。声明如下 DB.Execute "UPDATE tblSearchersList SET '" & vSearcherDay & "' = " & VHours & " WHERE Member= '" & Me.cboMember.Column(1) & "'AND [Mission] = '" & Me.Mission & "'" TBLSE列表是要更新的表 vSearcherD

我正在尝试使用VBA中的变量更新表以进行访问。声明如下

DB.Execute "UPDATE tblSearchersList SET '" & vSearcherDay & "' = " & VHours & " 
WHERE Member= '" & Me.cboMember.Column(1) & "'AND [Mission] = '" & Me.Mission & "'"
TBLSE列表是要更新的表

vSearcherDay是一个变量,它将字母“d”与数字et(1,2,3,4,5)组合在一起,具体取决于其他查询

VHours是十进制数(小时数)

成员是表单字段Me.cboMember.Column(1)中的文本值

Mission是表单字段Me.Mission中的文本值

我得到运行时
错误3061-预期参数太少2。

希望我能在这方面得到一些帮助,因为我已经为此奋斗了一段时间,并且正在输掉这场战斗

谢谢

新代码如下:

对这件事很抱歉。我是新来的,不太知道怎么做

DB.Execute "UPDATE tblSearchersList SET " & vSearcherDay &_
" = " & VHours & " WHERE Member= '" & Me.cboMember.Column(1) & "' &_
" And [Mission] = '" & Me.Mission & "'"
我对此感到很尴尬,但我的成员字段名有误。应该是
改为MemberName。我真的很感谢所有我得到的快速帮助,下次会做得更好。它工作得很好。谢谢大家。

不要在字段名周围使用撇号。反而

SET '" & vSearcherDay & "' = " &


在为vhour插入的值和WHERE子句之间是否有空格?格式似乎表明您在文本中直接运行,这可能是问题所在。当您构建
UPDATE
语句时,请将其存储在字符串变量(如strUpdate)中。然后在
DB.Execute strUpdate
之前执行
Debug.Print strUpdate
。您可以在即时窗口中检查“调试.打印”的输出。复制语句文本并将其粘贴到新Access查询的SQL视图中进行测试。如果您需要更多帮助,请将该语句添加到您的问题中,并告诉我们它触发的错误消息。现在我得到运行时错误3061-预期的参数太少,为1而不是2。看来我越来越近了。下面是代码:DB.Execute“UPDATE tblSearchersList SET”&vSearcherDay&“=”&VHours&“WHERE Member=”&Me.cboMember.Column(1)&“AND[Mission]=”&Me.Mission&“’你能用新代码更新你的问题而不是把它放到注释中吗?同样在
和[Mission]
中,尝试在和
和[Mission]
之前添加空格
SET " & vSearcherDay & " = " &