強制參照

為了確定在列印工作期間執行指令碼的最佳時間以及需要存取的資料庫欄位,BarTender 會檢查範本的結構並以不可見的方式執行指令碼的測試回合。另外,BarTender 還會考量任何資料庫欄位和共用資料庫來源的使用時間和方法。

條件陳述式會執行不同的程式碼「分支」,這取決於條件運算式的評估方式。因此,根據評估時的條件,某些程式碼可能不會執行。如果在指令碼的測試回合期間跳過了一些程式碼,而其中恰巧包含對欄位或共用名稱的參照,則可能會導致問題。如果關聯的條件陳述式在列印時的評估結果不同,並且導致要參照欄位或共用名稱,而在先前的測試回合期間未參照欄位或共用名稱,則指令碼可能無法在最有效的時間執行,甚至可能會失敗。

在這些情況下,您可以使用強制函數來確保指令碼會參照所需的資料庫欄位或資料來源名稱。

BarTender 的內建強制函數

指令碼編輯器包含兩個函數,可用於強制指令碼參照資料庫欄位或資料來源名稱:ReferenceFieldReferenceSharedSubString。這兩個函數不會變更或指派任何值;僅會強制應用程式注意指令碼測試回合期間可能遺漏的項目。使用這兩個函數時,BarTender 會建立所有必要資料欄位的連結,並且指令碼會在列印時執行以回應對應的事件。

欄位編號為 "<Empty>" 的 VBScript 物件可能會顯示錯誤訊息 #3201:「範本上的物件設定為讀取欄位 '(欄位名稱)'。但是,找不到此欄位。是否將不明欄位視為空白字串而繼續?」按一下「」可在範本預覽中顯示指定的空白字串欄位。按一下「」可將內容新增至空白欄位。

關閉在指令碼編輯器中尋找兩個強制函數

  1. 在「指令碼助理」窗格中展開「函數」資料夾。

  2. 在「函數」資料夾中展開「宣告」資料夾。ReferenceFieldReferenceSharedSubstring 位於此資料夾中。

建議您在任何條件陳述式之前的指令碼開頭處插入參考函數。

只有將範本連線至資料庫時,ReferenceField 函數才可用。

只有將具名資料來源連線至範本上的物件時,ReferenceSharedSubString 函數才可用。

強制參照資料庫欄位或具名資料來源

您可以強制 VBScript 參照資料庫欄位或具名資料來源。

關閉強制參照資料庫欄位

  1. 在「指令碼助理」窗格中展開「函數」,展開「宣告」,然後展開「ReferenceField」。

  2. 按兩下要強制參照的資料庫欄位的名稱。「指令碼」窗格中會顯示類似於下列內容的程式碼片段:

    ReferenceField("field_name_or_field_number")

如果將文件設定為從一般文字檔案讀取資料,請指定欄位編號。當文件從資料庫讀取時,請指定欄位名稱。除非欄位名稱本身包含在變數中,否則請確保將名稱括在引號中,例如 ReferenceField("price")。

關閉強制參照具名資料來源

  1. 在「指令碼助理」窗格中展開「函數」,展開「宣告」,然後展開「ReferenceSharedSubString」。

  2. 或者,按兩下要強制參照的具名資料來源。「指令碼」窗格中會顯示類似於下列內容的程式碼片段:

    ReferenceSharedSubString("share_name")

如果範本中的資料來源具有名稱,則可以如所示強制對其進行參照。除非資料來源名稱本身包含在變數中,否則請確保將名稱括在引號中,例如 ReferenceSharedSubString("price")。

相關主題