Запрос в Ms-access

#ms-access #ms-access-2007 #ms-access-2003

#ms-access #ms-access-2007 #ms-access-2003

Вопрос:

В этом запросе отображаются номера партнеров, у которых eventtype не равен «PNremoved ИЗ оболочки». Этот запрос отображает правильные данные. Номер детали может быть удален из этого номера отслеживания, но его можно ввести, используя другой номер отслеживания. В этом случае он не работает.

Я хочу запрос, который работает, когда мы вводим тот же номер детали с другим номером отслеживания.

Номер детали не должен отображаться вместе с номером отслеживания, с которым мы использовали 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 engineername версия компании
8765 1 XXXX ХХХХ ХХХХ ХХХХ ХХХХ 
9898 0 xxxx хххх хххх хххх хххх
7889 2 xxxx хххх хххх хххх хххх

история событий (подчиненная форма), связанная с tblEventLog

Эта форма содержит события, произошедшие с номерами деталей

eventdate partnum тип события errortype ошибка subtype комментарий

xxxxx 8765 1-получение нового xxxx xxxx xxxxx
xxxx 9898 1-получение нового xxxx xxxx xxxxx
xxxx 7889 1-получение нового xxxx xxxx xxxx
xxxx 8765 2-назначить xxxx xxx xxx
xxx 9898 3 ошибки xxxx xxxx xxxx

Если я захочу удалить номер детали из оболочки, я удалю, и форма eventhistory будет выглядеть так, как показано ниже

eventdate partnum тип события errortype ошибка subtype комментарий

xxxxx 8765 1-получение нового xxxx xxxx xxxxx
xxxx 9898 1-получение нового xxxx xxxx xxxxx
xxxx 7889 1-получение нового xxxx xxxx xxxx
xxxx 8765 2-назначить xxxx xxx xxx
xxx 9898 3 ошибки xxxx xxxx xxxx 
xxx 9898 'pn УДАЛЕН ....' ххх ХХХ хххх

Тогда RevRel_Form не должен отображать эти данные partnumber следующим образом:

номер части chnglvl jobpntype engineername версия компании
8765 1 XXXX ХХХХ ХХХХ ХХХХ ХХХХ
7889 2 xxxx хххх хххх хххх хххх

Это отлично работает с запросом, который я написал в источнике данных RevRel_form (запрос, который я написал выше).

Но проблема в том, что удаленный номер детали в будущем появится снова с другим новым номером оболочки. с запросом, который я использую прямо сейчас, он также не будет отображать данные partnumber с новым номером оболочки.

Итак, я хочу запрос, который отображает данные partnumber в RevRel_Form с новым номером оболочки. Но не с номером оболочки, из которого мы удалили этот номер детали.

Если вы не можете увидеть записи в нужном формате, проверьте их в режиме редактирования.

Комментарии:

1. Я все еще совсем не понимаю вопроса. Покажите нам имеющиеся у вас данные и данные, которые вы хотите получить из своего запроса.

Ответ №1:

Вам нужно добавить ссылку на оболочку, например:

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

Если журнал событий не содержит идентификатор оболочки, я думаю, у вас проблема с дизайном, потому что эти события явно относятся к конкретной оболочке.

Комментарии:

1. Идентификатор оболочки — это не что иное, как..trackingnumber. номера деталей в той же оболочке будут сохранены с тем же номером отслеживания. Таким образом, каждый номер детали будет сохранен как запись, и поэтому trackingnumber является общим для них.

2. что такое «оболочка» в этом tblEventLog. Wrapper = ‘идентификатор оболочки’

3. Как вы определяете, к какой оболочке принадлежит «pn, УДАЛЕННЫЙ из оболочки»? Если это номер отслеживания, то идентификатор оболочки = номер отслеживания.