2016-08-20 2 views
0

"마지막 지불"이 "withdrawaldate"에서 90 일 미만인지 확인하는 계산 된 열이 있습니다. 표현식 :Ms 액세스 위반 날짜 변경 iif 함수

IIf(DateDiff('d',[Last Payment],[withdrawaldate])<=90,'1') 

만약 이것을 SQL보기에서 편집하면 완벽하게 작동합니다. 그러나 만약 내가 쿼리 작성기를 사용하여 이것을 편집하고 "잘못된 구문"잘못된 섹션으로 '1'강조 표시 말한다.

"Last Payment"는 차이가있을 경우 계산 된 필드입니까?

무엇이 부족합니까 ??

도와주세요

미리 감사드립니다.

편집

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;

+0

우리를 혼란스럽게합니다 - SQL View를 보여줘야하고 Query Builder가 다른 이유는 무엇입니까? Design View에 대해 이야기하고 있습니까? - 어쩌면 – dbmitch

답변

0

먼저 표현이 IIf의 "거짓"부분이 누락되었습니다

IIf(DateDiff('d',[Last Payment],[withdrawaldate])<=90, '1', <FALSE-PART>) 

두 번째 경우를 독일어 액세스를 사용하는 경우 대신 ;을 사용해야합니다. 쿼리 디자인보기의 함수에 대해서는 ,입니다.

IIf(DateDiff('d';[Last Payment];[withdrawaldate])<=90; '1'; <FALSE-PART>) 

하지만 SQL보기 (즉, "국제")는 ,입니다.

+0

감사합니다 스크린 샷 앙드레을 보여, 일리노이 내가이에 ammended 한 한편 그 를 살펴 : '하여 IIf (ABS (참조 DateDiff ('D', [마지막 결제 방법], [WITHDRAWALDATE]) <= 90) = '1', '예', '아니오') ' 그리고 꽤 잘 작동하는 것 같습니다. – Stefanpt