3

製品名とその他の製品仕様のリストを返すレポートがあります。現在、このレポートにはさまざまな検索オプションがあります。ユーザーは、複数の製品番号を入力して、製品番号で検索できるようにしたいと考えています。

オプションの複数値テキストボックスである製品番号によるフィルターを追加するにはどうすればよいですか? 複数値のテキストボックスを追加しようとしました。値が入力されていない場合、レポートは機能していないようです。テキスト ボックスに 1 つまたは複数の製品番号を入力すると、問題なく動作するようです。レポートが Null 値パラメーターでフィルター処理されていないことを確認する方法はありますか? または、オプションの複数値パラメーターを使用する他のアイデアはありますか?

これが私の複数値テキストボックスの設定です

    Name = ProductNumber
    Prompt = Product Number
    Data Type = Text
    Allow Blank Value (checked)
    Allow Null value (not checked)
    Allow Multiple Values (checked)

これがデータセットフィルターです

    Expression = [ProductNumber]
    Operator = In
    Value = [@ProductNumber]

ありがとう

TL

4

2 に答える 2

3

次の方法でデータセット フィルターをだます必要があると思います。

  1. 式は、パラメーターが空白かどうかを確認し、空白の場合は式に 1 を指定し、それ以外の場合はフィールドを指定する必要があります。
  2. 値は同じチェックを行う必要があり、パラメーターが空白の場合は値を 1 に設定し、それ以外の場合はパラメーターに設定します。

ただし、オペレーターを維持してください。


別の方法として、これを SQL でも同様に行うことができ、柔軟性とパフォーマンスが向上します。

于 2013-02-28T09:27:37.463 に答える
2

独自のテストで見たように、少なくとも 1 つの値を複数値パラメーターで選択する必要があります。Allow null value設計時に true に設定することはできません。値を選択せず​​にレポートを実行すると、エラー メッセージがスローされます。

したがって、ユーザーが値を選択せず​​に実行できるレポートを作成することはできません。

パラメータを無視するときに達成しようとしているのは、デフォルトですべての製品番号を含めることです。では、選択されたすべての製品番号のデフォルト値を持つようにパラメーターを設定してみませんか? そうすれば、製品番号でフィルタリングしたくない場合、ユーザーはそれらをすべて無視してチェックを入れたままにすることができます。私には良い回避策のようです。

これを行うには、データを入力するのと同じデータセットを使用して、パラメーターのデフォルト値を設定します。

ここに画像の説明を入力

すべての製品番号が選択されるようになり、ユーザーはこれらのサブセットを返したい場合にのみアクションを実行する必要があります。

于 2013-02-28T09:31:48.517 に答える