У меня есть расчетный столбец, чтобы проверить, не прошло ли «Последний платеж» менее 90 дней с «даты вывода». Выражение:
IIf(DateDiff('d',[Last Payment],[withdrawaldate])<=90,'1')
Если я редактирую это в представлении sql, он отлично работает. Однако, если я редактирую это с помощью построителя запросов, он ломается и говорит «Недопустимый синтаксис», выделяя «1» как недопустимый раздел.
"Последний платеж" также является вычисляемым полем, если это имеет значение?
Что мне не хватает?
Пожалуйста помоги
Заранее спасибо!
Изменить
Просмотр SQL следующим образом:
SELECT
Book.Cause_Date,
Book.Is_Archived,
Book.Status, Book.Handover_Status,
Max(Payments.[Capture Date]) AS [Last Payment],
Withdrawaltest.ACCOUNTNO,
Withdrawaltest.WITHDRAWALDATE,
Withdrawaltest.WITHDRAWALREASON,
IIf(Abs(DateDiff('d',[Last Payment], [WITHDRAWALDATE])<=90)='1',"Yes","No") AS [Paid in 90Days],
IIf((Abs(DateDiff('m',[Cause_Date],[WITHDRAWALDATE])<=14)='1' And [Handover_Status]='3') Or (Abs(DateDiff('m',[Cause_Date], [WITHDRAWALDATE])<=9)='1' And [Handover_Status]='1'),'No','Yes') AS [Out Of Term],
IIf([Paid in 90Days]="Yes" Or [Out Of Term]="No","KEEP","DontBother") AS [Keep?]
FROM
Payments RIGHT JOIN (Book INNER JOIN Withdrawaltest ON Book.Case_Reference = Withdrawaltest.ACCOUNTNO) ON Payments.[Case Reference] = Withdrawaltest.ACCOUNTNO
GROUP BY
Book.Cause_Date, Book.Is_Archived,
Book.Status, Book.Handover_Status, Withdrawaltest.ACCOUNTNO,
Withdrawaltest.WITHDRAWALDATE, Withdrawaltest.WITHDRAWALREASON,
IIf((Abs(DateDiff('m',[Cause_Date],[WITHDRAWALDATE])<=14)='1' And [Handover_Status]='3') Or (Abs(DateDiff('m',[Cause_Date],
[WITHDRAWALDATE])<=9)='1' And [Handover_Status]='1'),'No','Yes')
ORDER BY
Max(Payments.[Capture Date]) DESC;