我們有一個Crystal Report,它允許用戶選擇要過濾的幾個字段中的哪一個。在記錄選擇公式,我們有像下面的代碼:如何根據多個字符串參數或字符串數組篩選數字字段?
if {?First Selection Type} = "CUSTOMER CODE" then {foo.CustCode} in {?First Selection Value}
else if {?First Selection Type} = "ORDER" then {bar.OrderNum} in {?First Selection Value}
...
的{?First Selection Value}
參數定義爲多個字符串參數,因爲一些選擇需要使用的字符串。
不幸的是,bar.OrderNum
字段是數字。
如果我嘗試將上面的代碼放入,Crystal Reports會提供錯誤「此處需要數字範圍」。
如果我把CStr({bar.OrderNum})
保存沒有錯誤,但是在生成SQL語句時不包含該條件,導致性能惡化,因爲它從數據庫中拉下每個訂單並在客戶端搜索它們。
如果我把ToNumber({?First Selection Value})
或CDbl({?First Selection Value})
給出錯誤「這個數組必須是下標的,例如:Array [i]」。
我需要一些方法來使這個標準去數據庫服務器,而不會使參數更混亂的用戶。
如果有問題,我們使用Crystal Reports 11.0.0.895對照Progress OpenEdge 10.1B03數據庫。