如果您使用的資料庫支援查詢語言 (例如 SQL),您可以撰寫自己的命令做為 Crystal Reports 中的 Table 物件。如此一來有經驗的資料庫使用者便可完全控制下推至資料庫伺服器的資料處理。一個有經驗的使用者可以撰寫高度最佳化的命令,以大幅縮減伺服器所傳回的資料組大小。
您可以使用資料庫專家中的 [加入命令] 節點來撰寫自己的命令,即可建立表示命令處理結果的虛擬資料表。
當您使用已建立為命令的虛擬資料表時,Crystal Reports 不會改變已傳送到伺服器的 SQL 語法 (也就是說,它不會自動加入引號或逸出字元)。此行為也適用於命令中使用的參數。因此,您必須加入資料庫驅動程式所需的引號與逸出字元。
若要建立自己的命令物件
例如:
SELECT Customer.`Customer ID`, Customer.`Customer Name`, Customer.`Last Year's Sales`, Customer.`Region`, Customer.`Country`, Orders.`Order Amount`, Orders.`Customer ID`, Orders.`Order Date` FROM Customer Customer INNER JOIN Orders Orders ON Customer.`Customer ID` = Orders.`Customer ID` WHERE (Customer.`Country` = 'USA' OR Customer.`Country` = 'Canada') AND Customer.`Last Year's Sales` < 10000. ORDER BY Customer.`Country` ASC, Customer.`Region` ASC
您會回到內嵌的 Crystal Report Designer。在欄位總管中的 [資料庫欄位] 下會出現 [命令] 資料表,其中列出您指定的資料庫欄位。
注意 在預設狀況下,您的命令即稱為「命令」。您只需按下 F2 便可變更其別名。
若要編輯命令物件
當您在 [加入命令至報表] 對話方塊或 [修改命令] 對話方塊中工作時,可以建立參數欄位。
若要建立命令物件的參數
請輸入您想要用來識別參數的名稱。
請輸入程式提示時要顯示的文字
請輸入參數欄位的資料型別
請輸入當使用者沒有提供新值時,要程式使用的值
您的參數便會加入 [參數清單] 中。您只需回到 [修改命令] 對話方塊中,便可修改或刪除參數。
若要將參數加入命令物件中
參數便會加入至游標所在的位置中。它看起來像是這樣:
WHERE Customer.`Country` = '{?CountryParam}'
如果您想要變更已經建立的參數欄位,請移至欄位總管,再從參數欄位節點中加以選取。