Фильтры запросов MS-Access в порядке "=", но не когда я использую "<>"? - PullRequest
0 голосов
/ 19 августа 2010

Я использую Microsoft Access 2000,

Этот запрос фильтруется, когда я использую условие "=", но он не фильтруется, когда я использую "<>". В чем может быть проблема?

SELECT tblRevRelLog_Detail.RevRelTrackingNumber, tblRevRelLog_Detail.PartNumber, tblRevRelLog_Detail.ChangeLevel, tblRevRelLog_Detail.Version, tblRevRelLog_Detail.JobPnType, tblRevRelLog_Detail.EdsName, tblRevRelLog_Detail.FmeaText1, tblRevRelLog_Detail.FmeaText2, tblRevRelLog_Detail.LasdtEvent, tblRevRelLog_Detail.DetailerNamePerPartNumber, tblRevRelLog_Detail.DetailerCompanyPerPartNumber
FROM tblRevRelLog_Detail LEFT JOIN tblEventLog ON tblRevRelLog_Detail.PartNumber = tblEventLog.PartNumber
WHERE (((tblEventLog.EventTypeSelected)<> 'Pn REMOVED from Wrapper'));

Ответы [ 2 ]

0 голосов
/ 19 августа 2010

Почему бы не попробовать:

SELECT td.RevRelTrackingNumber,
       td.PartNumber,
       td.ChangeLevel,
       td.Version,
       td.JobPnType,
       td.EdsName,
       td.FmeaText1,
       td.FmeaText2,
       td.LasdtEvent,
       td.DetailerNamePerPartNumber,
       td.DetailerCompanyPerPartNumber
FROM   tblRevRelLog_Detail td
LEFT JOIN tblEventLog te ON td.PartNumber = te.PartNumber
WHERE NOT(((te.EventTypeSelected) = 'Pn REMOVED from Wrapper'));

Не так много людей из Access, но я верю, что это достигнет того, что вы хотите.

0 голосов
/ 19 августа 2010

Может быть, столбец имеет нулевые значения? SQL (и, следовательно, я полагаю, Access) использует трехзначную логику . Есть истина, ложь и неизвестность. и NUll значения предполагаются неизвестными. Так

WHERE col = 'value'

возвращает все строки, в которых col не равно NULL и имеет значение 'value'

WHERE col <> 'value'

возвращает все строки, в которых col не равно нулю, а значение col не равно 'value'

WHERE col is null

возвращает все строки, в которых col равно нулю.

Чтобы вернуть строки, которые не соответствуют col = 'value', вам нужно будет использовать

WHERE col is null OR col <> 'value'
...