Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/15.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
Ms access 在多个命令中使用inputbox的结果_Ms Access_Vba - Fatal编程技术网

Ms access 在多个命令中使用inputbox的结果

Ms access 在多个命令中使用inputbox的结果,ms-access,vba,Ms Access,Vba,我尝试使用一个inputbox结果来运行两个SQL语句。当我运行它时,每次都会得到输入框。有没有一种方法可以显示一次,并在两个语句中使用该结果 result = InputBox("Enter the solicitor name:") DoCmd.RunSQL ("UPDATE addresses SET sol1=result WHERE sol1 Is Null AND disc1=True;") DoCmd.RunSQL ("UPDATE addresses SET sol2=resu

我尝试使用一个inputbox结果来运行两个SQL语句。当我运行它时,每次都会得到输入框。有没有一种方法可以显示一次,并在两个语句中使用该结果

result = InputBox("Enter the solicitor name:")

DoCmd.RunSQL ("UPDATE addresses SET sol1=result WHERE sol1 Is Null AND disc1=True;")
DoCmd.RunSQL ("UPDATE addresses SET sol2=result WHERE sol2 Is Null AND disc2=True;")

您必须连接结果:

DoCmd.RunSQL ("UPDATE addresses SET sol1 = '" & result & "' WHERE sol1 Is Null AND disc1=True;")
考虑到奥尼尔:

DoCmd.RunSQL ("UPDATE addresses SET sol1 = """ & result & """ WHERE sol1 Is Null AND disc1=True;")

这应该有用。。。您是否已将
结果
声明为
字符串
?最好使用表单。最好使用参数。最好对数据库实例使用Execute。在上面的例子中,结果必须在引号中,并且在字符串之外。最好使用我上面评论的参数。这是不安全的。我也有点担心两个专栏需要更新。此外,你的报价对奥康奈尔街不起作用。是的,但这并没有回答问题。我的选择是使用DAO并更新一个记录集。过去,它通常不仅仅是回答问题,提供指导也很重要。您使用的引号仍然是一个问题。虽然在Jet/ACE中SQL注入很困难,但上面的代码可能是针对SQL Server后端运行的。谢谢,Gustav。成功了。为了回答你的问题,菲昂努阿拉,因为他们在不同的一排。