在VBA SQL WHERE子句中使用变量时出现问题
我正在尝试使用VBA中的变量更新表以进行访问。声明如下在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
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 & " = " &