我工作的公司使用MacolaES作爲ERP系統。 SQL Server數據庫的結構使得當事情不再被視爲活動時,它們從一組「活動」表移動到一組「歷史」表。這有助於將「活動」表保持得足夠小,以便查詢快速返回。另一方面,歷史表是巨大的。適當的列在這些表中編入索引,如果您查詢特定的內容,它會很快返回。Crystal Reports參數化查詢
問題在於當您製作Crystal Report時,它會提示用戶輸入參數。由於我不知道的原因,Crystal參數沒有被轉換爲SQL參數,所以最終會有查詢選擇訂單標題歷史記錄表內部的所有內容連接到訂單行歷史記錄表中的所有內容,這會導致超過800萬行。
有沒有辦法讓Crystal Reports使用SQL查詢中的參數,而不是在事件之後加載所有記錄和過濾?我讀過一個存儲過程應該工作的地方,但我很好奇,如果一個普通的參數化查詢可以節省我的時間。
這裏是選擇公式:
(
trim({Orderheader.ord_no}) = {?Order No}
)
and
(
{Orderheader.ord_type} = 'O'
)
and
(
{orderlines.ord_type} = 'O'
)
它取決於記錄選擇公式的類型以及它是否可以轉換爲sql where子句。你是否使用任何不會像'if'或任何水晶函數那樣轉換爲sql的特殊運算符? – dotjoe 2010-01-29 15:49:20
不,只是使用布爾AND。 – Scott 2010-01-29 15:59:24
您是否嘗試將配方從配方中移除? – 2010-02-01 18:49:49