Я борюсь с IF в инструкции WHERE. В моем запросе доступа используется параметр. Оператор WHERE должен выполняться только в том случае, если параметр имеет значение, иначе его следует игнорировать. Это то, что я прямо сейчас:IF в выражении WHERE исключает слишком много записей (Access)
PARAMETERS varMachineID Text (25);
SELECT RequestNumber
FROM Requests
WHERE (MachineID=IIf([varMachineID]<>"",[varMachineID],MachineID));
Это заявление должно работать нормально. Однако таблица также может содержать записи с пустым идентификатором MachineID. С помощью этого оператора WHERE эти записи теперь исключаются Query. Этого не должно быть. Я попробовал инструкцию OR в ELSE, но затем запрос становится слишком сложным для обработки.
Надеюсь, у кого-то есть решение для меня.
Спасибо.
пс. Это урезанный пример, запрос, который у меня содержит, содержит больше параметров и больше условий в инструкции WHERE.
Иногда решение может быть это просто. Большое спасибо! – Karin