2015-05-14 2 views
0

Я застрял на этом SQL, он говорит, что мне не хватает оператора и выделяет "Available". То, что я пытаюсь сделать, это создать этот запрос обновления в VBA, мне нужно поле [TS] для обновления, но только если «[Status]« доступно ». Вот полный код ниже:Ошибка синтаксиса MS Access SQL

UPDATE attendance SET TS = " & iif [Status] = "Available" Then DMax("[TS]", "attendance") + 1 & " WHERE [userID]= " & rs!userID

Я думаю, я не могу иметь это утверждение в правильном порядке.

+0

Если у вас есть условие iif, вам также не нужно условие else? –

+0

Я думал, что если у вас есть инструкция IF/THEN, то else является необязательным (Else). – Lilly

+0

Цитата после SET TS = "никогда не была закрыта? – BICube

ответ

1

«IIF» - это функция, которая ожидает три параметра (завернутые в скобки) и возвращает либо истинный результат, либо ложный результат в зависимости от значения условия, например: iif (условие, истинный результат , ложный результат).

Но даже если вы исправили эту синтаксическую ошибку в своем запросе, я не думаю, что ваш запрос будет делать то, на что вы надеетесь. Возможно, что-то вроде этого будет работать лучше:

"UPDATE attendance SET [TS]= [TS]+1 WHERE [userID]=" & rs!userID & " AND [Status]=""Available""" 
+0

Это сработало отлично. Спасибо! – Lilly