"前回の支払い"が "引き出し日"から90日以内であるかどうかを確認する計算列があります。式:Ms Access breaking DateDiff iif関数
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;
私は混乱しています。あなたはSQLビューを表示しなければなりません。なぜなら、クエリービルダーは何も違うからです。あなたはデザインビューについて話していますか? - 多分 – dbmitch