2012-11-07 23 views
0

我在將報表參數傳遞給連接到SharePoint列表的報表後面的CAML查詢時遇到了一些問題。 我有一個參數Date(日期時間類型)。將DateTime SSRS參數過濾器傳遞給SharePoint GetListItems CAML查詢問題

我在查詢中使用了=Parameters!Date.Value,但默認<CalendarDate>將當前日期作爲默認日期,並返回當前日期的結果,即當天日期。但是,如果我使用2012-11-03T00:42:34Z這樣的實際硬編碼日期,則報告可以正常工作。

所以我不知道我錯過了什麼,我的查詢如下

<Query> 
<SoapAction>http://schemas.microsoft.com/sharepoint/soap/GetListItems</SoapAction> 
<Method Namespace="http://schemas.microsoft.com/sharepoint/soap/" Name="GetListItems"> 
<Parameters> 
<Parameter Name="listName"> 
<DefaultValue>Bookings</DefaultValue> 
</Parameter> 

<Parameter Name="query" Type="xml"> 
<DefaultValue> 
<Query> 
<Where> 
<DateRangesOverlap> 
<FieldRef Name="EventDate"/> 
<FieldRef Name="EndDate"/> 
<FieldRef Name="RecurrenceID"/> 
<Value Type="DateTime"> 
<Today/> 
</Value> 
</DateRangesOverlap> 
</Where> 
</Query> 
</DefaultValue> 
</Parameter> 

<Parameter Name="queryOptions" Type="xml"> 
<DefaultValue> 
<QueryOptions> 
<ExpandRecurrence>TRUE</ExpandRecurrence> 
<CalendarDate>=Parameters!Date.Value</CalendarDate> 
</QueryOptions> 
</DefaultValue> 
</Parameter> 

<Parameter Name="ViewFields" Type="xml"> 
<DefaultValue> 
<ViewFields> 
    <FieldRef Name="Title" /> 
    <FieldRef Name="EventDate" /> 
    <FieldRef Name="EndDate" /> 
    <FieldRef Name="Room" /> 
    <FieldRef Name="Hosted_x0020_By" /> 
    <FieldRef Name="External_x0020_Attendees" /> 
    <FieldRef Name="Catering_x0020_Requirements" /> 
    <FieldRef Name="Fixed_x0020_Facilities" /> 
    <FieldRef Name="Other_x0020_Facilities" /> 
    <FieldRef Name="Company" /> 
    <FieldRef Name="Layout" /> 
</ViewFields> 
</DefaultValue> 
</Parameter> 

</Parameters> 
</Method> 
<ElementPath IgnoreNamespaces="True">*</ElementPath> 
</Query> 

我嘗試了不同的格式選項

= CDATE(參數!Date.Value)的ToString( 「yyyy-MM-ddTHH:mm:ssZ」)

但是它仍然不能正常工作,即使我不提供任何價值,它仍然會返回當前日期的結果。

如果我把它比當天返回。我想不知道該參數值在查詢中根本沒有傳遞。 請幫助

+0

如果您在運行報表時在TextBox中放置** = CDate(Parameters!Date.Value).ToString(「yyyy-MM-ddTHH:mm:ssZ」)**,您會看到什麼? –

+0

值正確的文本框,但查詢沒有采取輸入值,我做錯了傳遞參數?該查詢只是採用當天的默認日期並執行。 – Ishan

回答

0

Here是另一個問題,這是解決這個問題。