访问2013 UPDATE查询

时间:2017-07-21 06:06:36

标签: sql ms-access ms-access-2013

嘿我正在学习Access 2013,我试图建立一个更新查询,如果找到一个特定的号码,我已经做到这样我工作一个号码,但我有更多的标识号码,需要在同一个查询中更新,我不知道如何管理它。

这是我的SQL,下面的数字是我想识别的数字,并转向REQUESTRESPONSE,识别号始终为char 6和2 long { {1}}

("MsgString",6,2)

我现在已经对每个数字进行了一次查询,但这不好(无效!),有没有办法在同一个查询中完成所有这些操作?感谢

1 个答案:

答案 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"已为两者定义)