嘿我正在学习Access 2013,我试图建立一个更新查询,如果找到一个特定的号码,我已经做到这样我工作一个号码,但我有更多的标识号码,需要在同一个查询中更新,我不知道如何管理它。
这是我的SQL
,下面的数字是我想识别的数字,并转向REQUEST
或RESPONSE
,识别号始终为char 6和2 long { {1}}
("MsgString",6,2)
我现在已经对每个数字进行了一次查询,但这不好(无效!),有没有办法在同一个查询中完成所有这些操作?感谢
答案 0 :(得分:1)
您可以在OR
中使用IIf
:
UPDATE tblMsgs SET tblMsgs.MsgType =
IIf(Mid("MsgString",6,2)="22" OR Mid("MsgString",6,2)="59" OR ..., "RESPONSE", "REQUEST")
WHERE ...
但是在两个查询中执行此操作会更直接,更易读,一个用于" RESPONSE"和#34;请求"。
您还可以使用the IN
operator指定值列表。
UPDATE tblMsgs SET tblMsgs.MsgType = "RESPONSE"
WHERE Mid([MsgString],6,2) IN ("22", "59", "62", ...)
UPDATE tblMsgs SET tblMsgs.MsgType = "REQUEST"
WHERE Mid([MsgString],6,2) IN ("14", "19", "22", ...)
(您的列表似乎有错误," 22"已为两者定义)