Access предупреждает о наличии ошибки оператора в предложении case в запросе

#ms-access

#ms-access

Вопрос:

Access предупреждает о наличии ошибки оператора в предложении case в запросе (строка 3) не удается найти, что не так

 SELECT x, y, z
FROM (SELECT * FROM (SELECT x,y,
CASE WHEN Forms![g]![d] !=0  THEN z  ELSE Forms![g]![d] END) AS Z
...; 
  

Ответ №1:

На самом деле с этой строкой есть 2 отдельные проблемы.

  1. Access не имеет CASE WHEN операторов и вместо этого использует либо IIF функцию, либо SWITCH функцию
  2. != недопустимый оператор в Access. Оператор not equals <> равен .

Исправлено:

 IIF(Forms![g]![d] <> 0, z, Forms![g]![d]) AS EXP