1

こんにちは、私は Visual Studio 2010 で Crystal Reports を使用していますが、解決できない次の問題があります。name というパラメーターがあり、ユーザーが従業員名のドロップダウン リストから選択できるようにします。これはオプションのパラメーターであるため、ユーザーは何も選択できません。その場合、フィールド Employee name が空の行を除くすべての従業員をレポートに表示したいと考えています。空の従業員をすべて隠しているように見える数式を詳細セクションに入れたため、2 番目の部分を書き留めたと思います。問題は、パラメーターを選択しないままにしておくと、レポートにフィールド Employee name の行のみが表示されることです。次のような式を作成しました。

if not (hasvalue(({?Zaduzioc}))) then True 

    else if  
    hasvalue({?Zaduzioc})  then  
    {Inventar_Model_ReportClass.ImeZaduzioca} in {?Zaduzioc} and
    {Inventar_Model_ReportClass.Status} = "Aktivno"

これとまったく同じ数式を別のレポートとパラメーターで使用すると機能しますが、そのパラメーターには空の値がないため、空の値がある場合はすべてを表示しない場合はそれらの行のみを表示するのと同じだと思います。問題は、すべてを表示するように指示する方法がわからないことです。

どんな助けでも大歓迎です。

4

2 に答える 2

1

問題は、オプションをtrueに設定しなかったパラメーターの編集にあり、それを見落とし、それを行うとすぐにすべてが機能しました。したがって、この問題を抱えている人のために要約すると、パラメーターセットをオプションにして true にし、これをレコード選択の式に入れます。

if not (hasvalue(({?Parameter}))) then True  

else if  
hasvalue({?Parameter})  then  
{table.column} in {?Parameter}

それはそれである必要があります。

于 2013-03-26T10:18:25.437 に答える
1

ドロップダウンから選択する場合は、値 = ALL、説明 = ALL の項目を追加できます。デフォルトをこの値に設定します。次に、選択エキスパートで、これを選択クエリに追加します。

.... AND (IF {?パラメータ} = 'ALL' THEN {データベースフィールド} = {データベースフィールド} ELSE {データベースフィールド} = {?パラメータ})

于 2014-06-30T20:08:27.550 に答える