Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/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 当相关表中没有匹配项时,将字段更新为空值_Ms Access_Ms Access 2007 - Fatal编程技术网

Ms access 当相关表中没有匹配项时,将字段更新为空值

Ms access 当相关表中没有匹配项时,将字段更新为空值,ms-access,ms-access-2007,Ms Access,Ms Access 2007,我有两个表,如下所示。我需要用表[tblTransmittalls]的[Transmital]值更新表[Asbuild_LIST]的[incomming letter contractor]字段 我使用了以下更新查询 UPDATE ASBUILT_LIST INNER JOIN tblTransmittalls ON ASBUILT_LIST.DOC=tblTransmittalls.DocumentNo SET ASBUILT_LIST.[incomming letter con

我有两个表,如下所示。我需要用表[tblTransmittalls]的[Transmital]值更新表[Asbuild_LIST]的[incomming letter contractor]字段

我使用了以下更新查询

UPDATE ASBUILT_LIST INNER JOIN tblTransmittalls 
   ON ASBUILT_LIST.DOC=tblTransmittalls.DocumentNo 
SET ASBUILT_LIST.[incomming letter   contractor] = [tblTransmittalls]![TRANSMITTAL]
    WHERE  ((tblTransmittalls.PurposeofIssue)="FIN"));
现在,当[DocumentNo]字段(两个表之间相关)不匹配时,我需要将[incomming letter contractor]更新为
NULL

SET ASBUILT_LIST.[incomming letter contractor] = Null
当出现匹配时,它会像以前一样更新:

SET ASBUILT_LIST.[incomming letter contractor] = [tblTransmittalls]![TRANSMITTAL]
各表如下:

表:竣工清单

doc                 incomming letter contractor
------------------  ---------------------------
doc-1000            L-0001
doc-2000            L-0002
表:tblTransmittalls

DocumentNo         TRANSMITTAL      PurposeofIssue
-----------------  ---------------  --------------
DOC-1000           T-0001           FIN
DOC-3000           T-0500           FIN
DOC-4000           T-0600           IFI
DOC-2000           T-0800           IFI
我需要一个更新的ASBUILD_列表表,所以在运行更新查询后,它应该是这样的:

doc            incomming letter contractor
-------------  ---------------------------
doc-1000       T-0001   
doc-2000       null

如果我正确理解您的描述,使用
DLookup()
应该很容易

更新竣工清单
设置[收件函承包商]=
德卢库普
(
“传送”,
“tblTransmittalls”,
“DocumentNo=”&[DOC]&“;问题的目的='FIN'”
);

如果我正确理解您的描述,使用
DLookup()
应该很容易

更新竣工清单
设置[收件函承包商]=
德卢库普
(
“传送”,
“tblTransmittalls”,
“DocumentNo=”&[DOC]&“;问题的目的='FIN'”
);

我这样做了,但问题是运行更新查询非常慢,可能是因为我将表链接到了其他数据库。当我把查询和没有其他数据库链接的表放在一个单独的数据库中时,运行查询的速度是正常的。但现在速度非常慢。请确保在
tblTransmittalls
中索引
DocumentNo
。我不知道它是否也有助于为问题的目的编制索引;在该字段上尝试使用或不使用索引。我这样做了,但问题是运行更新查询非常慢,可能是因为我将表链接到了其他数据库。当我把查询和没有其他数据库链接的表放在一个单独的数据库中时,运行查询的速度是正常的。但现在速度非常慢。请确保在
tblTransmittalls
中索引
DocumentNo
。我不知道它是否也有助于为问题的目的编制索引;在该字段上尝试使用索引和不使用索引。