2012-08-27 153 views
0

將帶來的晶體選擇公式根據選擇的前兩個參數,我試圖找到一個公式,該公式將根據選擇中的前兩個參數跟隨基於公式中的其他參數的其他參數。所以這就是我迄今爲止所遇到的問題。我遇到的問題是,如果不是所有的公式都被選中,那麼我在報告上就沒有任何可打印的內容。所以如果我選擇{Sig1}和{Sig4},報告就會變成空白。根據第一個參數

{table.client} = {?client#} and 
{table.signature1} = {?Sig1} 
//to then bring only the below selected parameters based from the {client#} and {?Sig1} 
parameters. Not all parameters will be selected as well. 
({table.signature2} = {?Sig2} or {?Sig2} = "") or 
({table.signature3} = {?Sig3} or {?Sig3} = "") or 
({table.signature4} = {?Sig4} or {?Sig4} = "") 

任何幫助提前非常感謝。 希望我是清楚的

+0

你需要測試空參數值,而不是空白? – Beth

+0

問題在於我給用戶選項留下任何參數SIG2-SIG4爲空,因爲報表參數下拉列表將顯示空值或者如果還有一個值未被選中。 – Dagz200

回答

0

兩件事情:({?Sig1的}您檢查後)

  1. 你不使用你的公式的第一和第二部分之間的連通性。我猜這是因爲CR會給你一個錯誤。

  2. 由於OR運算符是可交換的,所以括號不做任何事情。這是令人困惑的閱讀,可能至少部分是爲下一個問題負責...

  3. 只有一個評論後面的語句需要評估爲TRUE,以便評論下方的整個部分評估爲TRUE 。因此,如果您爲{?Sig2}輸入值,但將{?Sig3}留空,則仍會返回所有記錄,因爲{?Sig3}=""的計算結果爲TRUE。要解決這個問題,你需要在每一行之間使用AND運算符。

{table.client} = {?client#} 
and {table.signature1} = {?Sig1} 
and ({table.signature2} = {?Sig2} or {?Sig2} = "") //note that the parens are required here 
and ({table.signature3} = {?Sig3} or {?Sig3} = "") // since AND takes precedence 
and ({table.signature4} = {?Sig4} or {?Sig4} = "")