Ms access &引用;操作必须使用可更新的查询;MS访问中出现错误
我被这个更新查询卡住了:Ms access &引用;操作必须使用可更新的查询;MS访问中出现错误,ms-access,ms-access-2013,Ms Access,Ms Access 2013,我被这个更新查询卡住了: UPDATE [table1] n SET n.kdo = IIf( n.old_kdo IN (SELECT u.id FROM [table2] u WHERE u.id_c<>0),"1","0") UPDATE[table1]n SET n.kdo=IIf(n.old_kdo IN(从[table2]u中选择u.id,其中u.id_c0),“1”,“0”) 它给了我“操作必须使用可更新查询”错误(我拥有所有读/写权限) 我尝试使用以下方法绕过它:
UPDATE [table1] n SET n.kdo = IIf( n.old_kdo IN (SELECT u.id FROM [table2] u WHERE u.id_c<>0),"1","0")
UPDATE[table1]n SET n.kdo=IIf(n.old_kdo IN(从[table2]u中选择u.id,其中u.id_c0),“1”,“0”)
它给了我“操作必须使用可更新查询”错误(我拥有所有读/写权限)
我尝试使用以下方法绕过它:
UPDATE [table1] n SET n.kdo = IIf( n.old_kdo IN (DLookup("id", "table2", "id_c<>0")),"1","0")
UPDATE[table1]n SET n.kdo=IIf(n.old_kdo IN(DLookup(“id”,“table2”,“id_c0”),“1”,“0”)
这是可行的,但遗憾的是,它只返回第一场比赛
有人知道怎么做才对吗?是否有更好的联接查询解决方案?尝试用dFirst()、dCount()或类似函数替换子查询,并相应地扩展条件:
UPDATE [table1] n SET n.kdo =
iif(dCount("*", "table2", "id_c<>0 and id = " & n.old_kdo) > 0 ,"1","0")
UPDATE[table1]n SET n.kdo=
iif(数据计数(“*”、“表2”、“id_c0和id=“&n.old_kdo)>0”、“1”、“0”)
对于更新查询中的联接,访问是很棘手的