0

レポートにはSQLServerReportingServicesを使用しています。いくつかのサブレポートで構成されるレポートがあります。簡単にするために、車としましょう。そして、各車には独自のパーツリストがあります。1対多の関係。

したがって、車のレポートには、すべての車の情報と、サブレポートであるパー​​ツリストがあります。これは、特定の車でパーツリストをフィルタリングするためのパラメーターとして渡すことができる単一のCar.IDがあるため、1台の車で正常に機能します。

ただし、レポートに複数の車が指定されている場合は、各車を独自のページに配置する必要があります。独自のパーツリストを使用します。

私はそれを理解するのに苦労している周りを見てきました。私が見ている解決策は、すべてをリストコントロールに配置し、各レコードの後に​​ページ分割を追加することです。次に、データセット内の各アイテムに行番号を追加し、サブレポートのページ番号と行番号を一致させます。

私はこれを行うためのより簡単な方法がなければならないと思います、それは私が見落としていました。または、ない場合、ページ番号と行番号を一致させるにはどうすればよいですか?ルックアップ機能を使ってみました-

=Lookup(=Fields!Page.Value, =Globals!PageNumber, =Fields!ID.Value, "DataSet1")

ただし、これにより、Globals!PageNumber変数がページヘッダー/フッターセクションでのみ使用可能であるというエラーが返されます。

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

4

1 に答える 1

1

気にしないでください、私はばかで、それを完全に複雑にしすぎていました。

他の誰かが役に立つと思ったら、ここに手順があります。

  1. レコードの ID をパラメーターとして指定して、サブレポートを作成します。

  2. メインのカプセル化レポートを作成します。

  3. リスト コントロールをページに追加し、Tablix プロパティに移動して改ページを追加します。

  4. サブレポートをリスト コントロールに追加する

  5. フィールド コレクションを使用して、ID パラメーターに値を指定します。この場合は =Fields!ID.Value です。

  6. テスト レポートを作成したら、座って、私がどれだけ複雑にしようとしたかを考えないでください。

于 2012-12-07T11:53:47.437 に答える