0

複数ページのレポートを生成するアクティブなレポートがあります。詳細セクションにあるフィールド「COID」に基づいて、N/M ページを複数回表示する必要があります。たとえば、10 ページ (COID 1001 の場合は 2、COID 1002 の場合は 1、COID 1003 の場合は 7) がある場合、「Pages 1 of 2」、「Pages 2 of 2」、「Pages 1 of 1」のようなページが必要です。 "、"ページ 1/7"、"ページ 2/7".... "ページ 7/7".

助けてください。

4

2 に答える 2

1

私は病棟でARバージョン3.00のみを使用しました。これらでは、サブレポートを使用して非常に迅速かつ簡単に達成できます。

私はこれについて簡単な調査を行い、以前のバージョン がサブレポートをサポートしていることを発見しました

サブレポートを使用してこれを行う方法は、リンクの記事に従って、親および子/サブレポートを作成します。親レポートデータの場合、COIDごとにSQLクエリグループを実行し、各COIDをサブレポートに渡します。私は、その詳細セクションに詳細セクションがあり、サブレポートコントロールを挿入する、ほとんど空白の親レポートを想定していました。既存のレポートをサブレポートコントロールに割り当てます。

親レポートとサブレポートのコミュニケーションを単純にする限り、サブレポートには独自の問題があります。また、親レポートにサブレポートインスタンスオブジェクトを1つだけ作成します。同じインスタンスを使用して、COIDである親データセットの各行からパラメーターを渡します。

于 2013-02-13T23:33:45.707 に答える
0

これには 2 つの方法があります。1 つのレポートを実行し、各グループのページ番号を再設定し、レポートを複数回実行してページを 1 つのレポートに結合します。

グループごとにページ番号をリセットする

ActiveX/COMドキュメントの ActiveReports でこのトピックを参照してください。テキスト ボックス コントロールに適切なプロパティを設定するだけです。

レポートのマージ

この方法では、COID グループごとに個別にレポートを実行できます (たとえば、WHERE 句を使用して適切なデータを取得します)。これにより、各 COID レポートで必要な方法でページ番号が取得されます。次に、それぞれのページを 1 つのレポートに結合できます。したがって、次のようなものです。

For iRpt = 0 to myReports.Count - 1
    rpt = myReports[iRpt]
    For iPage = 0 to rpt.Pages.Count – 1
        mainReport.Pages.Insert(rpt.Pages(iPage))
    Next iPage
Next iRpt

Pages コレクションの詳細については、こちらを参照してください。

于 2013-02-12T20:03:24.283 に答える