Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.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 &引用;操作必须使用可更新的查询;MS访问中出现错误_Ms Access_Ms Access 2013 - Fatal编程技术网

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”)
对于更新查询中的联接,访问是很棘手的