在VBA SQL WHERE子句中使用变量时遇到问题

时间:2013-11-26 22:56:34

标签: sql database vba ms-access

我正在尝试使用VBA for Access中的变量更新表。声明如下。

DB.Execute "UPDATE tblSearchersList SET '" & vSearcherDay & "' = " & VHours & " 
WHERE Member= '" & Me.cboMember.Column(1) & "'AND [Mission] = '" & Me.Mission & "'"

tblSearcherList是要更新的表

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

VHours是十进制数(小时数)

成员是Form Field Me.cboMember.Column(1)

中的文本值

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

我获得了运行时error 3061 - Too few parameters expected 2.

希望我可以得到一些帮助,因为我已经打了一段时间并且正在输掉这场战斗。

由于

新代码就是这样:

抱歉评论的事情。我是新人,并不太清楚如何做到这一点。

DB.Execute "UPDATE tblSearchersList SET " & vSearcherDay &_
" = " & VHours & " WHERE Member= '" & Me.cboMember.Column(1) & "' &_
" And [Mission] = '" & Me.Mission & "'"

我对此感到很尴尬但是我的会员字段名称错了。本来应该的 会员名称。我真的非常感谢我得到的所有快速帮助,并且下次会做得更好。它完美地运作。谢谢大家。

1 个答案:

答案 0 :(得分:1)

不要在字段名称周围使用撇号。代替

SET '" & vSearcherDay & "' = " &

DO

SET " & vSearcherDay & " = " &