2010-09-13 6 views
0

Cette requête affiche les numéros de pièce dont eventtype n'est pas égal à "PNremoved FROM Wrapper". Cette requête affiche les bonnes données. Le numéro de pièce peut être retiré de ce numéro de suivi, mais il peut être entré en utilisant un autre numéro de suivi. Dans ce cas, cela ne fonctionne pas.Une requête dans Ms-access

Je veux la requête qui fonctionne lorsque nous entrons le même numéro de pièce avec un autre numéro de suivi.

Le numéro de pièce ne doit pas apparaître avec le numéro de suivi avec lequel nous avons utilisé eventtype = "pn Removed from wrapper". Mais il devrait afficher avec un autre numéro de suivi qui a le même numéro de pièce.

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; 

Je montre cela en utilisant un exemple.

Reviewrelease_Form (forme principale) relié à reviewreleasetable:

cette table contient des données de base et numéro de wrapper

    wrapper number: Testing

RevRel_Form (sous-formulaires) liés à tblRevRelLog_Detail

Ce formulaire contient des données sur la partie numéro

 
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 (sous-formulaire) lié à tblEventLog

Ce formulaire contient les événements ne est venu avec les numéros de pièce

 
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

Si je veux supprimer un numéro de pièce de l'emballage, je vais enlever et la forme EventHistory regarde comme indiqué ci-dessous

 
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

Alors le RevRel_Form ne doit pas afficher ces données comme suit Numéro de composant:

 
part no chnglvl jobpntype engineername company version 
8765  1   XXXX  XXXXX  XXXX xxxx 
7889  2   xxxx  xxxxx  xxxx xxxx

Cela fonctionne très bien avec la requête que j'ai écrite dans la source de données du RevRel_form (La requête que j'ai écrite ci-dessus).

Mais le problème est, supprimé numéro de pièce reviendra avec un autre nouveau numéro de wrapper dans le futur. Avec la requête que j'utilise en ce moment, elle n'afficherait pas les données du numéro de pièce avec le nouveau numéro de wrapper. Donc, je veux la requête qui affiche les données partnumber dans le RevRel_Form avec un nouveau numéro d'encapsuleur. Mais pas avec le numéro d'emballage dans lequel nous avons supprimé ce numéro de pièce.

Si vous ne pouvez pas voir les enregistrements dans le bon format, vérifiez-les dans la vue d'édition.

+1

Je ne comprends toujours pas la question du tout. Montrez-nous les données que vous avez et les données que vous voulez de votre requête. –

Répondre

0

Vous devez ajouter une référence à l'emballage, par exemple:

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

Si le journal des événements ne contient pas d'ID d'emballage, je pense que vous avez un problème de conception, parce que ces événements s'appliquent clairement à un emballage particulier.

+0

Wrapper Id est rien mais ..Numéro de suivi. les numéros de pièces dans le même emballage seront sauvegardés avec le même numéro de suivi. Ainsi, chaque numéro de pièce sera enregistré comme un enregistrement et donc le numéro de suivi est commun pour eux. – user397316

+0

qu'est-ce que 'wrapper' dans ce tblEventLog.Wrapper = 'wrapper id' – user397316

+0

Comment identifier quel wrapper "pn REMOVED From Wrapper" appartient? S'il s'agit d'un numéro de suivi, alors l'identifiant d'encapsulation = numéro de suivi. – Fionnuala

Questions connexes