2016-08-20 14 views
0

"前回の支払い"が "引き出し日"から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;

+0

私は混乱しています。あなたはSQLビューを表示しなければなりません。なぜなら、クエリービルダーは何も違うからです。あなたはデザインビューについて話していますか? - 多分 – 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