此查询显示eventtype不等于“PNremoved FROM Wrapper”的partnumbers。此查询显示正确的数据。可以从此跟踪号中删除部件号,但可以使用其他跟踪号输入。在那种情况下它不起作用。
我希望查询在我们输入相同的部件号和另一个跟踪号时有效。
部件号不应与我们使用的跟踪号一起显示eventtype =“pn从包装中删除”。但它应显示另一个具有相同部件号的跟踪号。
SELECT
tblRevRelLog_Detail.RevRelTrackingNumber,
tblRevRelLog_Detail.PartNumber,
tblRevRelLog_Detail.ChangeLevel,
tblRevRelLog_Detail.Version,
tblRevRelLog_Detail.JobPnType,
tblRevRelLog_Detail.EdsName,
tblRevRelLog_Detail.DetailerNamePerPartNumber,
tblRevRelLog_Detail.DetailerCompanyPerPartNumber
FROM
tblRevRelLog_Detail LEFT JOIN tblEventLog
ON tblRevRelLog_Detail.PartNumber = tblEventLog.PartNumber
WHERE
tblEventLog.PartNumber Not In (
SELECT tblEventLog.PartNumber
FROM tblEventLog
WHERE tblEventLog.EventTypeSelected = 'pn REMOVED From Wrapper')
ORDER BY
tblRevRelLog_Detail.PartNumber;
我通过一个例子展示了这一点。
Reviewrelease_Form(主要表格)链接到reviewreleasetable:
此表包含基本数据和包装编号
wrapper number: Testing
RevRel_Form(子表单)链接到tblRevRelLog_Detail
此表单包含有关部件号
的数据part no chnglvl jobpntype engineername company version 8765 1 XXXX XXXXX XXXX xxxx 9898 0 xxxx xxxxx xxxx xxxx 7889 2 xxxx xxxxx xxxx xxxx
eventhistory(子表单)链接到tblEventLog
此表单包含带有部件号的事件
eventdate partnum eventtype errortype errorsubtype comment xxxxx 8765 1-receive new xxxx xxxx xxxxx xxxx 9898 1-recieve new xxxx xxxx xxxxx xxxx 7889 1-receive new xxxx xxxx xxxx xxxx 8765 2-assign xxxx xxx xxx xxx 9898 3 errors xxxx xxxx xxxx
如果我想从包装中删除一个部件号,我将删除并且eventhistory表单如下所示
eventdate partnum eventtype errortype errorsubtype comment xxxxx 8765 1-receive new xxxx xxxx xxxxx xxxx 9898 1-recieve new xxxx xxxx xxxxx xxxx 7889 1-receive new xxxx xxxx xxxx xxxx 8765 2-assign xxxx xxx xxx xxx 9898 3 errors xxxx xxxx xxxx xxx 9898 'pn REMOVED....' xxx xxx xxxx
然后RevRel_Form不应显示此部件号数据,如下所示:
part no chnglvl jobpntype engineername company version 8765 1 XXXX XXXXX XXXX xxxx 7889 2 xxxx xxxxx xxxx xxxx
这对我在RevRel_form的数据源(我上面写的查询)中编写的查询工作正常。
但问题是,删除的部件号将在未来再次使用另一个新的包装编号。使用我现在使用的查询,它不会显示带有新包装编号的partnumber数据。
所以,我希望查询在RevRel_Form中显示具有新包装编号的partnumber数据。但不是我们删除该部件号的包装编号。
如果您无法以正确的格式查看记录,请在编辑视图中查看它们。
答案 0 :(得分:0)
您需要添加对包装器的引用,例如:
WHERE
tblEventLog.wrapper = 'wrapper id'
AND tblEventLog.EventTypeSelected <> 'pn REMOVED From Wrapper'
如果事件日志不包含包装器ID,我认为您有设计问题,因为这些事件明显适用于特定的包装器。