0

此查询显示事件类型不等于“PNremoved FROM Wrapper”的零件号。此查询显示正确的数据。零件号可能会从此跟踪号中删除,但可以使用另一个跟踪号输入。在这种情况下,它不起作用。

我希望当我们输入具有另一个跟踪号的相同零件号时查询有效。

部件号不应与我们使用 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:

此表包含基本数据和包装器编号

                包装编号:测试

RevRel_Form(子表单)链接到 tblRevRelLog_Detail

此表格包含有关零件号的数据

零件编号 chnglvl jobpntype 工程师名称 公司版本
8765 1 XXXX XXXXXX XXXX xxxx
9898 0 xxxx xxxx xxxx xxxx
7889 2 xxxx xxxx xxxx xxxx

链接到 tblEventLog 的 eventhistory(子表单)

此表单包含带有零件编号的事件

eventdate partnum eventtype errortype errorsubtype 注释

xxxxx 8765 1-接收新的 xxxx xxxx xxxxx
xxxx 9898 1-收到新的 xxxx xxxx xxxxxx
xxxx 7889 1-接收新的 xxxx xxxx xxxx
xxxx 8765 2-分配 xxxx xxx xxx
xxx 9898 3 个错误 xxxx xxxx xxxx

如果我想从包装器中删除零件号,我将删除并且事件历史表如下所示

eventdate partnum eventtype errortype errorsubtype 注释

xxxxx 8765 1-接收新的 xxxx xxxx xxxxx
xxxx 9898 1-收到新的 xxxx xxxx xxxxxx
xxxx 7889 1-接收新的 xxxx xxxx xxxx
xxxx 8765 2-分配 xxxx xxx xxx
xxx 9898 3 个错误 xxxx xxxx xxxx
xxx 9898 'pn 已删除....' xxx xxx xxxx

那么 RevRel_Form 不应显示此零件编号数据,如下所示:

零件编号 chnglvl jobpntype 工程师名称 公司版本
8765 1 XXXX XXXXXX XXXX xxxx
7889 2 xxxx xxxx xxxx xxxx

这适用于我在 RevRel_form 的数据源中编写的查询(我在上面编写的查询)。

但问题是,将来删除的零件编号会再次出现另一个新的包装编号。使用我现在使用的查询,它也不会显示带有新包装器编号的零件编号数据。

所以,我想要在 RevRel_Form 中使用新包装器编号显示零件编号数据的查询。但不是我们删除该零件编号的包装编号。

如果您看不到正确格式的记录,请在编辑视图中检查它们。

4

1 回答 1

0

您需要添加对包装器的引用,例如:

WHERE
    tblEventLog.wrapper = 'wrapper id'
    AND tblEventLog.EventTypeSelected <> 'pn REMOVED From Wrapper'

如果事件日志不包含包装器 ID,我认为您有设计问题,因为这些事件显然适用于特定包装器。

于 2010-09-15T15:01:10.140 回答