2010-09-13 189 views
0

該查詢顯示eventtype不等於「PNremoved FROM Wrapper」的partnumbers。此查詢顯示正確的數據。部件號可能會從此跟蹤號碼中刪除,但可以使用其他跟蹤號碼輸入。在這種情況下,它不起作用。Ms-access中的查詢

我希望當我們輸入與另一個跟蹤號碼相同的零件號碼時工作的查詢。

零件編號不應該顯示跟蹤號碼,我們已經使用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:

該表含有與tblRevRelLog_Detail

此窗體包含關於部分數據的基本數據和包裝器數

    wrapper number: Testing

RevRel_Form(窗體)號碼

 
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

掛tblEventLog

這種形式eventhistory(子窗體)中包含的部件編號happended

 
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的數據源中寫入的查詢(我上面寫的查詢)正常工作。

但問題是,刪除的零件編號將在未來再次出現另一個新的包裝編號。使用我現在正在使用的查詢,它不會顯示帶有新包裝編號的零件編號數據。

所以,我想要在新的包裝器編號中顯示RevRel_Form中的零件編號數據的查詢。但不包括我們刪除該部件號的包裝編號。

如果您無法以正確格式查看記錄,請在編輯視圖中查看它們。

+1

我還是不明白這個問題。向我們顯示您擁有的數據以及您想要查詢的數據。 – 2010-09-13 21:05:19

回答

0

您需要添加一個引用到包裝,例如:

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

如果事件日誌中不包含的包裝標識,我覺得你有一個設計問題,因爲這些事件清楚地適用於特別的包裝。

+0

包裝標識不過是..追蹤號碼。相同包裝中的零件編號將使用相同的跟蹤編號保存。因此,每個零件編號將保存爲一條記錄,因此跟蹤編號對他們來說很常見。 – user397316 2010-09-15 15:38:17

+0

什麼是'包裝'在這個tblEventLog.Wrapper ='包裝編號' – user397316 2010-09-15 15:40:09

+0

你如何確定哪個包裝「pn REMOVED Wrapper」屬於?如果是跟蹤號碼,則包裝id =跟蹤號碼。 – Fionnuala 2010-09-15 15:58:23