2013-10-03 4 views
-1

В базе данных MS Access 2010, у меня есть следующий запрос, который отлично работает:булевой проверка на пустое поле даты

SELECT TOP 1 ordersTable.startDate, ordersTable.endDate 
FROM ordersTable 
WHERE ordersTable.customerID=1 
ORDER BY ordersTable.startDate DESC; 

Как я могу изменить выше, так что он выдает простой «ДА», если ENDDATE является пустой или «НЕТ», если endDate не пуст?

Это, таким образом, сообщит, имеет ли данный заказ текущий открытый заказ или нет. Я предполагаю, что мы используем Iif, но я не смог найти хороший пример синтаксиса.

ответ

2

Предполагая, что "пустой" означает Null

SELECT TOP 1 ordersTable.startDate, ordersTable.endDate 
, IIF(ordersTable.endDate Is Null, "Yes", "No") As IsEmpty 
FROM ordersTable 
WHERE ordersTable.customerID=1 
ORDER BY ordersTable.startDate DESC; 
+0

+1 за попытку помочь. Но когда я использую ваш код, Access дает диалоговое окно с сообщением «Синтаксическая ошибка» (отсутствующий оператор) в выражении запроса: CASE WHEN ordersTable.endDate Is Null THEN «YES» ELSE «Нет» End IsEmpty. Есть ли у вас какие-либо предложения? – CodeMed

+0

Эта ссылка говорит CASE КОГДА может использоваться только в VBA: http://www.techonthenet.com/access/functions/advanced/case.php – CodeMed

+0

А, этот дурацкий нестандартный доступ! Попробуйте отредактированную версию с помощью IIF. У меня нет доступа к этой машине :-( – asantaballa

Смежные вопросы