若要排解選擇公式的疑難問題,一開始應先確定選擇公式中參考的所有欄位都放在報表中。接著刪除選擇公式,並逐步重建,同時進行測試。
有時候,您可能發現建立資料錄選擇公式後,雖然報表上印了頁首與頁尾資訊,卻沒有任何細目資訊。問題在於選擇公式拒絕了所有資料錄。通常這是因為建立選擇公式時發生錯誤所致。
選擇公式中有兩個潛在的原因可能造成問題:
更正大小寫不一致
資料錄選擇公式會區分大小寫。也就是說,Bob 只會與 Bob 相符。它與 bob、BOB、BoB、bOB、boB 或 BOb 都不相符。因此,如果您的選擇公式設定成只包含 {客戶.連絡人名字} 欄位中是 BOB 的資料錄,但 {客戶.連絡人名字} 欄位中的所有項目都是混合使用大小寫 (例如 Bob),那麼選擇公式就找不到符合的項目,如此一來,就不會列印報表的任何細目。
只要在選擇公式中使用 UpperCase (字串) 或 LowerCase (字串) 函式,讓程式在開始選擇前將欄位資料轉換成一致的大小寫,就可以解決這個問題。例如,如果使用這個公式:
{customer.CONTACT FIRST NAME} = "BOB"
您可以將公式改成:
UpperCase({customer.CONTACT FIRST NAME}) = "BOB"
第二個公式會先將 {客戶.連絡人名字} 欄位的值轉換成大寫字元,然後檢查該欄位中的值是否等於 BOB。若使用這個公式,因為會轉換成大寫,所以只要是 b、o、b 這三個字母的任何執行個體,不論大小寫都會符合。
您可以使用 LowerCase 函式,以類似的方法來比對 bob。
仔細檢查您的選擇公式,確定試圖比對的任何文字都使用正確的大小寫。如果有疑問,可使用 UpperCase (或 LowerCase) 函式,以確保一致性以及正確的比對。
另一個執行相同的函式的公式為:
"BOB" in UpperCase({customer.CONTACT FIRST NAME})
選擇公式中出現不要的空白
空白也是字元,如果資料錄選擇公式的搜尋鍵中包含空白的話,公式會在選取的欄位中尋找完全相符的資料錄,包含空白及其他所有字元。例如,下列公式:
"Mr . " in {customer.TITLE}
因為搜尋鍵在字母 r 與句點之間多了一個空白,因此將找不到與 Mr. 這個稱呼相符的任何項目。同樣地,Ph. D 也不會與 Ph.D 相符。
請仔細檢查您的選擇公式,並確定選擇公式中的空白符合試圖比對之欄位中的空白。