2013-03-22 71 views
0

我有一個Crystal Report,它有兩個參數:{?EmailVerifyStatus}{?Company}。我希望這樣,當兩個參數都爲空時,報告會獲取所有記錄。 這裏是我當前的代碼:如何使用默認參數值從Crystal Report獲取所有記錄

(if {?EmailVerifyStatus}='Y' THEN {PREH.udEmailVerify}='Y' 
    ELSE IF {?EmailVerifyStatus}='N' THEN {PREH.udEmailVerify}='N' 
    ELSE 1=1) 
    and 

    (if {?Company} <> '0' then not (IF "," & ToText({PREH.PRCo},0,'') & "," IN "," & {?Company} & "," THEN 0=1 ELSE 1=1) else 1=1) 

但是,這僅是一個「Y」值返回的記錄。

+1

此代碼肯定贏我投給混淆比賽:) – Ryan 2013-03-22 21:45:59

回答

1

您必須檢查參數是否已使用hasvalue()函數設置了一個值。然後,你可以這樣做:

(not(hasvalue({?EmailVerifyStatus})) or {PREH.udEmailVerify} = {?EmailVerifyStatus}) and 
(not(hasvalue({?PRCo})) or {PREH.Co} = {?Company}) 

我不明白你的第二個條件......

+0

+1我想你已經知道了,除了最後一行應該是'not(hasvalue({?Company}))或{PREH.PRCo} = {?Company}' – Ryan 2013-03-22 21:49:01

+0

我明白了謝謝。但我的cumputer沒有hasvalue功能。 – 2013-03-27 16:07:46

相關問題