Ms access 当相关表中没有匹配项时,将字段更新为空值
我有两个表,如下所示。我需要用表[tblTransmittalls]的[Transmital]值更新表[Asbuild_LIST]的[incomming letter contractor]字段 我使用了以下更新查询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
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
。我不知道它是否也有助于为问题的目的编制索引;在该字段上尝试使用索引和不使用索引。