Следующий запрос (qryCurLotNewProducts) создает набор данных, который требуется обработать другим запросом (qryBNP_CFRecordset):
//qryCurLotNewProducts
SELECT tblNewProducts.*
FROM tblNewProducts INNER JOIN tblCurLot ON (tblCurLot.CatalogNum = tblNewProducts.CatalogNum) AND
(tblNewProducts.LotNum = tblCurLot.CurLot);
Когда Я запускаю этот второй запрос, чтобы перечислить только продукты "CF", найденные в первом запросе, я получаю ошибку "Несоответствие типов данных в выражении критерия".
//qryBNP_CFRecordset
SELECT qryCurLotNewProducts.*, tblABCategory.UNSPSC, tblAmount.ProductSize
FROM tblAmount RIGHT JOIN (tblABCategory RIGHT JOIN qryCurLotNewProducts ON tblABCategory.ABCategory = qryCurLotNewProducts.ABCategory) ON tblAmount.Amount = qryCurLotNewProducts.Amount
WHERE (((qryCurLotNewProducts.CatalogNum) Like "A700-###CF") AND ((qryCurLotNewProducts.DateEntered) Between #1/1/2000# And #3/1/2020#))
ORDER BY qryCurLotNewProducts.CatalogNum, Abs(qryCurLotNewProducts.LotNum);
Если я удаляю CF
из В строке поиска (т. е. «A700 - ###») запрос правильно выводит список, содержащий все элементы, содержащие этот шаблон:
Если I используйте строки типа "A700 - #### F" или "A700 - ### ZZ" или другие подобные комбинации, я не получаю ошибку, а скорее пустой набор результатов.
Примечательно, " A700-001CF "," A700-002CF "и др. c все создают ошибку типа данных. Кажется, что-то в комбинации клавиш CF вызывает проблемы.
Кто-нибудь еще видел эту проблему? Нужно ли мне использовать какой-то разделитель, чтобы сказать SQL, чтобы не рассматривать CF как какой-то особый переключатель?