Crystal Reports Designer  

根據命令/SQL 查詢定義虛擬資料表

如果您使用的資料庫支援查詢語言 (例如 SQL),您可以撰寫自己的命令做為 Crystal Reports 中的 Table 物件。如此一來有經驗的資料庫使用者便可完全控制下推至資料庫伺服器的資料處理。一個有經驗的使用者可以撰寫高度最佳化的命令,以大幅縮減伺服器所傳回的資料組大小。

您可以使用資料庫專家中的 [加入命令] 節點來撰寫自己的命令,即可建立表示命令處理結果的虛擬資料表。

當您使用已建立為命令的虛擬資料表時,Crystal Reports 不會改變已傳送到伺服器的 SQL 語法 (也就是說,它不會自動加入引號或逸出字元)。此行為也適用於命令中使用的參數。因此,您必須加入資料庫驅動程式所需的引號與逸出字元。

若要建立自己的命令物件

  1. 在欄位總管中以滑鼠右鍵按一下 [資料庫欄位],再按一下 [資料庫專家]。
  2. 在 [資料庫專家] 對話方塊中,瀏覽資料夾以找出您的資料來源。
  3. 按兩下資料來源下方的 [加入命令] 節點。
  4. 在 [加入命令至報表] 對話方塊中,為開啟的資料來源輸入適當的查詢/命令。

    例如:

    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
  5. 按一下 [確定]。

    您會回到內嵌的 Crystal Report Designer。在欄位總管中的 [資料庫欄位] 下會出現 [命令] 資料表,其中列出您指定的資料庫欄位。

    注意   在預設狀況下,您的命令即稱為「命令」。您只需按下 F2 便可變更其別名。

若要編輯命令物件

  1. 在資料庫專家的 [選取的資料表] 區域中,請選取要編輯的命令。
  2. 以滑鼠右鍵按一下該命令,再從快速鍵功能表中選取 [編輯命令]。
  3. 在 [修改命令] 對話方塊中進行想要的變更,完成時再按一下 [確定]。

當您在 [加入命令至報表] 對話方塊或 [修改命令] 對話方塊中工作時,可以建立參數欄位。

若要建立命令物件的參數

  1. 在 [加入命令至報表] 對話方塊或 [修改命令] 對話方塊的 [參數清單] 區域中,請按一下 [建立]。
  2. 在 [命令參數] 對話方塊中,於提供的欄位中輸入下列資訊:
    • 參數名稱

      請輸入您想要用來識別參數的名稱。

    • 提示文字

      請輸入程式提示時要顯示的文字

    • 數值類型

      請輸入參數欄位的資料型別

    • 預設值

      請輸入當使用者沒有提供新值時,要程式使用的值

  3. 按一下 [確定]。

    您的參數便會加入 [參數清單] 中。您只需回到 [修改命令] 對話方塊中,便可修改或刪除參數。

若要將參數加入命令物件中

  1. 將游標置於查詢文字中。
  2. 在 [參數清單] 中按兩下參數的名稱。

    參數便會加入至游標所在的位置中。它看起來像是這樣:

    WHERE
        Customer.`Country` = '{?CountryParam}'

    如果您想要變更已經建立的參數欄位,請移至欄位總管,再從參數欄位節點中加以選取。

請參閱

插入資料庫欄位