如何使用 BarTender 按順序整理或列印每筆記錄的多份副本?
問題
假設您的 BarTender 文件目前連結到一個包含 3 筆資料的 SQL Server 資料表,並且您希望每筆資料都列印多份標籤,那麼 BarTender 會以什麼順序列印這些標籤?
適用於
BarTender Designer 2019 及之後版本
解答
根據您設定的列印份數,BarTender 會先列印所有第 1 筆資料的標籤,再列印所有第 2 筆資料的標籤,以此類推。所以,如果您設定每筆資料列印兩份,列印出來的順序會是:1、1、2、2、3、3
BarTender 不支援分組列印(Collate Printing),也就是說,沒有任何選項可以讓 BarTender 先將所有資料列印一遍再重複一次,因此無法直接列印出像這樣的順序:1、2、3、1、2、3
不過,雖然 BarTender 沒有內建這個功能,下面會介紹一種可能的解決方法來達到這個效果。
舉例來說,假設圖 1-1 中的資料表 'A' 是目前連結到 BarTender 文件的資料表,而資料表 'B' 是 'A' 的複本,如果您將這兩個資料表合併,就可以在列印第二份之前,先把每一份的所有資料都列印出來。
圖 1-1
在 BarTender 中,這可以透過自訂 SQL 陳述式(圖 1-2)來達成,而且不需要更動資料庫檔案或資料表。您可以使用 SQL UNION ALL 運算子,將兩個或多個 SELECT 陳述式的結果合併在一起(圖 1-3),這樣查詢回來的資料就會顯示在同一個資料表中。
SELECT column1, column2, ... FROM table_A;
UNION ALL
SELECT column1, column2, ... FROM table_A;
圖 1-2
圖 1-3
更多資訊
*根據您想要列印的重複資料筆數,UNION ALL 運算子可能需要重複使用多次,並插入在相同的 SELECT 陳述式之間。
*如果要包含重複的資料,必須使用 UNION ALL,而不是 UNION。
*這個方法有一些限制:
- 在 BarTender 中,指定自訂 SQL 陳述式(進階) 這個選項只支援部分資料庫類型。
- 如果 SQL 查詢較複雜,在 BarTender 中設定自訂 SQL 陳述式可能會比較困難。