我正尝试使用VBA for Access中的变量更新表。声明如下。使用VBA中的变量时遇到问题SQL WHERE子句
DB.Execute "UPDATE tblSearchersList SET '" & vSearcherDay & "' = " & VHours & "
WHERE Member= '" & Me.cboMember.Column(1) & "'AND [Mission] = '" & Me.Mission & "'"
tblSearcherList是表更新
vSearcherDay是依赖于其他查询
一个变量,它与一些结合了字母 “d”,等(1,2,3,4,5)VHours是一个十进制数(小时数)
构件从表格字段Me.cboMember.Column文本值(1)
团是从表单字段Me.Miss文本值离子
我得到运行时error 3061 - Too few parameters expected 2.
希望我能得到一些帮助,这是我一直争取这一段时间,我失去了战斗。
感谢
新的代码是这样的:
对不起回合的意见事情。我是新人,并不知道如何做到这一点。
DB.Execute "UPDATE tblSearchersList SET " & vSearcherDay &_
" = " & VHours & " WHERE Member= '" & Me.cboMember.Column(1) & "' &_
" And [Mission] = '" & Me.Mission & "'"
我对此很尴尬,但我的成员字段名称错误。本来应该是 MemberName。我真的很感激我得到的所有快速帮助,下次会做得更好。它完美的作品。谢谢你们。
你有没有价值之间插入VHours和WHERE子句的空间?格式化似乎表明您正在文本中直接运行,这可能是问题所在。 –
当您构建'UPDATE'语句时,将其存储在字符串变量(如* strUpdate *)中。然后在'DB.Execute strUpdate'之前调试'打印strUpdate'。您可以在即时窗口中检查“Debug.Print”的输出。复制语句文本并将其粘贴到新的Access查询的SQL视图中进行测试。如果您需要更多帮助,请将该语句添加到您的问题中,并告诉我们它触发的错误消息。 – HansUp