2014-02-28 257 views
2

我正在使用Crystal Reports,並且在我的公式1中,我想檢查一個字符串是否包含任何數值。示例如下所示...Crystal Reports檢查字符串是否包含任何數值

"Chris(12)" Returns True 
"123"  Returns True 
"Pot"  Returns False 
"John0"  Returns True 

我已經使用INSTR()函數實現了我想要的功能。我做了這樣的...

if INSTR(string,"0") <> 0 or INSTR(string,"1") <> 0 or INSTR(string,"2") <> 0 ... then 
    True 
else 
    False 

我只是想知道是否有任何短或更高效的代碼。非常感謝你。

+0

檢查這個帖子http://scn.sap.com/thread/1680390,你必須改變有點代碼,但我認爲這是解決方案 – Raphael

+0

感謝這:)但我不認爲提供的解決方案就足以讓我說「嘿,這是更高效」。但非常感謝你。我在上述解決方案之前創建了類似的內容。我只是不喜歡它。 –

+0

我會告訴你使用正則表達式,但水晶似乎並不支持它:( – Raphael

回答

3

創建自定義函數命名爲ContainsNumber

Function (Stringvar text) 

    Local Booleanvar found := False; 
    Local Numbervar i; 

    For i := 1 To Len(text) Do (

    If IsNumeric(Mid(text, i, 1)) Then (
     found := True; 
     Exit For 
    ) 

); 

    found; 

式現場使用:

// FALSE 
ContainsNumber ("ABC") 

// TRUE 
ContainsNumber ("ABC123") 
相關問題