2013-07-11 68 views
2

我有一個控制器使用standardSetController來實現分頁。我想根據過去13個月的交易日期進行過濾。日期文字沒有Last_N_Months的過濾器:N最近13個月篩選

有沒有一種方法可以在過去13個月內過濾?

這裏是我當前的查詢:

setCtrl = new ApexPages.StandardSetController(Database.getQueryLocator([select TransactionType__c, TradeDate__c, ShareClass__c, 
SettlementDate__c, Name, Fund__r.Name, Fund__r.Id, FirstTransaction__c, DCPosition__c, DBR__r.Name, DBR__r.Id, DBR__c, 
Amount__c from Transaction__c where DBRPrimaryContact__r.Contact__c =: con.Id ORDER BY TradeDate__c ASC])); 

如果我不能13個月過濾器,什麼是可以在一個查詢返回的記錄總數?是2000嗎?這個對象可以有大量的記錄,我想通過13個月的數據來限制結果。一旦我有了結果集,我想通過選項添加過濾。

感謝您的任何幫助。

回答

2

嘗試以下代碼用於過濾日期範圍 - 您可以通過編程計算確切日期範圍

DATE d1 = date.today(); 
Date d2 = d1.addMonths(-13); 
Integer d3 = d2.daysBetween(d1); 
System.debug('*************' + [SELECT Id FROM Account WHERE CreatedDate >= :d2 AND CreatedDate <=:d1]); 
0

按日期過濾你有LAST_90_DAYS或LAST_N_DAYS:90這樣

SELECT Id FROM Account WHERE CreatedDate = LAST_N_DAYS:90 

內其他link

信息,並是在一個查詢中檢索到的總數爲2000

+0

感謝您的回覆。我可能沒有正確地問我的問題。我查看了所有可用的日期文字。有沒有辦法只能回到過去13個月? – Dman100

+0

對不起,我認爲3個月因爲某種原因:) 所以只需使用LAST_N_DAYS:403這將給你最後大約13個月 –

+0

感謝您的幫助! – Dman100