該当レコードまでの累積値を出力する
以下のように、該当レコードまでの累積値(累計)を表示する方法は、レポートの形式によって異なります。
| データ | 累積値 | 
|---|---|
| 10 | 10 | 
| 20 | 30 | 
| 30 | 60 | 
| 40 | 100 | 
| 50 | 150 | 
ページレポート/RDLレポートの場合、表形式でデータを出力する場合、主にTableコントロールを使用します。
これらのコントロールを使用して、累積値を出力する場合には、RunningValue関数を使用します。
たとえば、Tableコントロールに累積値を表示する場合、表示したい列のTextBoxのValueプロパティに以下のように設定してください。
=RunningValue(Fields!(対象のフィールド名).Value, Sum)
    グループを使用している時に、そのグループ内だけの累積値を取得したい場合は、以下のようにRunningValue関数の第3引数にグループ名を設定してください。
=RunningValue(Fields!(対象のフィールド名).Value, Sum, (グループ名))
    RunningValue関数については、「共通の関数」を参照してください。
レポートのデータソースにストアドプロシージャを使用する
ページレポート/RDLレポートの場合、ストアドプロシージャの結果セットを元にレポートを生成することが可能です。詳細な方法については、「ストアドプロシージャを使用するレポート」を参照してください。
レポートのデータソース(接続文字列やSQL文など)を動的に変更する
レポートのデータソースを動的に設定する具体的な方法については、「実行時にレポートとデータソースの連結」トピックを参照ください。
上記のヘルプでは実行時に新規のデータソースを設定する方法をご紹介しておりますが、デザイン時に設定したデータソースを、実行時に変更することも可能です。以下のサンプルコードは、デザイン時に設定したデータソースの接続文字列と、データセットのSQL文を変更する一例です。
Visual Basic
| Visual Basic コード | 
                             
                                コードのコピー
                             
                         | 
                    
|---|---|
                            
Private Sub Form1_Load(...) Handles MyBase.Load
  ' ページレポート/RDLレポートを作成します。
  Dim rpt As New GrapeCity.ActiveReports.PageReport()
  ' レポート定義のファイルをロードします。 
  rpt.Load(New System.IO.FileInfo("PageReport1.rdlx"))
  ' 接続文字列を変更します。
  rpt.Report.DataSources(0).ConnectionProperties.DataProvider = "OLEDB"
  rpt.Report.DataSources(0).ConnectionProperties.ConnectString _
    = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:/Reels.mdb"
  ' 変更するSQL文を定義します。
  Dim tmpQuery As [String] = "Select Top 10 * From Movie"
  ' SQL文を変更します。
  rpt.Report.DataSets(0).Query.CommandText = _ 
    GrapeCity.ActiveReports.Expressions.ExpressionInfo.Parse(tmpQuery, _ 
      GrapeCity.ActiveReports.Expressions.ExpressionResultType.[String])
  Dim pageDocument As New GrapeCity.ActiveReports.Document.PageDocument(rpt)
  Viewer1.LoadDocument(pageDocument)
End Sub
                         | 
                    |
C#
| C# コード | 
                             
                                コードのコピー
                             
                         | 
                    
|---|---|
                            
   private void Form1_Load(...)
{
  // ページレポート/RDLレポートを作成します。
  GrapeCity.ActiveReports.PageReport rpt = new GrapeCity.ActiveReports.PageReport();
  // レポート定義のファイルをロードします。 
  rpt.Load(new System.IO.FileInfo("PageReport1.rdlx"));
  // 接続文字列を変更します。
  rpt.Report.DataSources[0].ConnectionProperties.DataProvider = "OLEDB";
  rpt.Report.DataSources[0].ConnectionProperties.ConnectString =
    @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:/Reels.mdb"; 
  // 変更するSQL文を定義します。
  String tmpQuery = "Select Top 10 * From Movie";
  // SQL文を変更します。
  rpt.Report.DataSets[0].Query.CommandText = 
    GrapeCity.ActiveReports.Expressions.ExpressionInfo.Parse(tmpQuery, 
      GrapeCity.ActiveReports.Expressions.ExpressionResultType.String);
  GrapeCity.ActiveReports.Document.PageDocument pageDocument = 
    new GrapeCity.ActiveReports.Document.PageDocument(rpt);
  viewer1.LoadDocument(pageDocument);
}
                         | 
                    |
なお、データソースやデータセットの内容を変更することにより、使用するフィールドが変更される場合は、使用するフィールドを新たに定義する必要があります。ご注意ください。