2014年7月6日日曜日

【VB.NET】ReportViewer グラフを表示する。

レポートにグラフを配置してSQLSereverのデータテーブルの内容を表示します。

使用例:月別の商品売上データを縦棒グラフをレポートの表の下に表示します。

1.予め月別の商品売上データを表示するレポートを作成します。
  レポートの作成は「【VB.NET】ReportViewer レポートを表示する②」を参照してください。

3.作成したレポートにツールボックスからグラフを配置します。
  「グラフの種類を選択」が表示されるので表示したいグラフを選択します。
3.グラフを二回左クリックし各フィールドに表示したいアイテムをレポートデータからドロップします。(レポートデータは「ツールバー」→「表示」→「レポートデータ」で表示されます)
4.「グラフのタイトル」「軸のタイトル」をクリックして各タイトルを編集します。
5.今回は横軸に「年/月」形式で表示したいのでカテゴリーフィールドに式を設定します。
カテゴリーフィールドのアイテムを右クリックし「カテゴリーグループのプロパティ」を表示しラベルに
式を設定します。
5.実行結果


他の種類のグラフについても大体このような方法で表示できるのではないでしょうか。

2014年6月15日日曜日

【VB.NET】ReportViewer サブレポートを表示する。

ReportViewerでサブレポートを表示します。

使用例:売上データを表示するレポートに従業員データをサブレポートで表示します。

1.プロジェクトにデータセットを追加して売上データと従業員データを取得するデータアダプターを追加します。

2.従業員データを表示するレポートを作成します。
3.売上データを表示するレポートを作成します。
4.売上データレポートにサブレポートを追加します。
  ReportNameに従業員データレポートを設定します。

5.フォームにReportViewerを配置し売上データレポートを表示します。
6.フォームにB indingSourceを追加しDataMemberに従業員データアダプターを設定します。
  (DataMember設定後にDataAdapterが追加されます)

7.サブレポートで使用するデータソースを指定するSubReportProcessingイベントハンドラを追加します。
Imports Microsoft.Reporting.WinForms

Public Class Form1

    'サブレポートで使用するデータソースにデータを指定する。
    Public Sub SubReportProcessingEventHandler(ByVal sender As Object, ByVal e As SubreportProcessingEventArgs)
        e.DataSources.Add(New ReportDataSource("DsEmployee", Me.EmployeeBindingSource))
    End Sub

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        'TODO: このコード行はデータを 'DataSet1.EmployeeDataTable' テーブルに読み込みます。必要に応じて移動、または削除をしてください。
        Me.EmployeeDataTableAdapter.Fill(Me.DataSet1.EmployeeDataTable)
        'TODO: このコード行はデータを 'DataSet1.SalesDataTable' テーブルに読み込みます。必要に応じて移動、または削除をしてください。
        Me.SalesDataTableAdapter.Fill(Me.DataSet1.SalesDataTable)

        'SubReportProcessingEventHandlerを追加する。
        AddHandler Me.ReportViewer1.LocalReport.SubreportProcessing, AddressOf SubReportProcessingEventHandler

        Me.ReportViewer1.RefreshReport()
    End Sub
End Class

8.実行します。














2014年5月6日火曜日

【VB.NET】ReportViewer パラメーターを渡す(VS2008)

使用例:VS2008の場合です。

1.レポートのデザイナー画面を開きツールバーの「レポート」→「レポートパラメーター」を選択します。

2.パラメーターを追加します。
3.レポートにテキストボックスを配置します。
4.テキストボックスの式に追加したパラメーターを設定します。
5.レポートにパラメーターを渡します。


Imports Microsoft.Reporting.WinForms

Public Class Form1

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        'TODO: このコード行はデータを 'SAMPLE_DBDataSet.DataTable1' テーブルに読み込みます。必要に応じて移動、または削除をしてください。
        Me.DataTable1TableAdapter.Fill(Me.SAMPLE_DBDataSet.DataTable1)
        'TODO: このコード行はデータを 'SAMPLE_DBDataSet.M_ITEM' テーブルに読み込みます。必要に応じて移動、または削除をしてください。
        Me.M_ITEMTableAdapter.Fill(Me.SAMPLE_DBDataSet.M_ITEM)


        Dim Parameters As New List(Of ReportParameter)
        With Parameters
            .Add(New ReportParameter("Report_Parameter_0", "パラメーターを表示します"))
        End With

        Me.ReportViewer1.LocalReport.SetParameters(Parameters)

        Me.ReportViewer1.RefreshReport()
    End Sub
End Class

6.実行します。

2014年4月13日日曜日

【VB.NET】ReportViewer パラメーターを渡す。

ReportParameterを使ってレポートに値を渡します。

使用例:VS2010の場合です。

1.「表示」→「レポートデータ」でレポートデータを表示しパラメーターを追加します。
2.パラメーターのプロパティを設定します。
3.レポートにテキストボックスを配置します。
4.テキストボックスの式にパラメーターを設定します。

5.レポートにパラメーターを渡します。
Imports Microsoft.Reporting.WinForms
Public Class Form1

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) _
        Handles MyBase.Load

        Dim shopCD1 As String = "002"
        Dim shopCD2 As String = "003"

        'TODO: このコード行はデータを 'SAMPLE_DBDataSet.DataTable1' テーブルに読み込みます。必要に応じて移動、または削除をしてください。
        Me.DataTable1TableAdapter.Fill(Me.SAMPLE_DBDataSet.DataTable1, shopCD1, shopCD2)
        
        Dim Parameters As New List(Of ReportParameter)
        With Parameters
            .Add(New ReportParameter("ReportParameter1", "パラメーターを表示します"))
        End With

        Me.ReportViewer1.LocalReport.SetParameters(Parameters)
        Me.ReportViewer1.RefreshReport()
    End Sub
End Class

6.実行します。
実行結果















【VB.NET】ReportViewer クロス集計された帳票を出力する(VS2008)

前回の記事でVS2008でのクロス集計の帳票出力に触れたのでVS2008の出力方法を‥

1.FormデザイナーのReportViewerコントロールのReportViewerタスクを開き「新しいレポートをデザインします」を選択しレポートウィザードを表示しデータソースを選択します。
2.レポートの種類でマトリックスを選択します。
2.フィールドの配置画面で行グループと列グループおよび詳細にフィールドを設定します。
3.スタイルを選択します。
4.完了でレポートファイルができます。
5.実行します。
実行結果

2014年3月9日日曜日

フィルム式一眼レフカメラ レンズ購入

以前に頂いたフィルム式一眼レフカメラですがレンズをようやく購入しました。
50mm短焦点レンズが標準レンズなようなのでCanonEF50mmF1.8を購入。

短焦点レンズなので自ら被写体に近づいて
撮影になります。
とりあえず初心者の私はこれで腕を上げようかなと‥








で本体に装着してみました。
おお!なかなかカッコイイではありませんか。












後は電池とフィルムを装着して撮影です。何を撮ろうか考えるだけでも結構楽しいものですね。









2014年3月8日土曜日

【VB.NET】ReportViewer クロス集計された帳票を出力する。

レポートファイル(.rdlc)に列グループを設定しクロス集計された帳票を出力します。

使用例:VS2010による使用例です。(VS2008ではレポートウィザードでマトリックスを選択すると列グループを追加することができます。)

1.FormデザイナーのReportViewerコントロールのReportViewerタスクを開き「新しいレポートをデザインします」を選択しレポートウィザードを表示しデータソースとデータセットを設定します。
2.フィールドの配置画面で行グループと列グループにフィールドを設定します。
3.レイアウトを選択します。
4.スタイルを選択します。
5.レポートウィザードを完了し実行します。
実行結果


2014年2月9日日曜日

【VB.NET】ReportViewer SQLパラメーターでデータを抽出しレポートを表示する。

DataAdapterのSQLステートメントの抽出条件にパラメーターを設定しデータを抽出してレポートを表示します。

使用例:SQLパラメーターで店舗を絞り込んでレポートを表示します。

1.【VB.NET】ReportViewer レポートを表示する②の手順でレポートを作成します。

2.データセットのデザイナー画面を表示します。

2.TableAdapter→右クリック→構成で構成ウィザード起動しWHERE句にSHOP_CDの
  絞り込み条件を記述します

4.フォームのLoadイベントのDataTable1TableAdapterのFillメソッドにパラメーターを
  引き渡します。
Public Class Form1

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        Dim shopCD As String = "002"

        'TODO: このコード行はデータを 'DataSet1.DataTable1' テーブルに読み込みます。必要に応じて移動、または削除をしてください。
        Me.DataTable1TableAdapter.Fill(Me.DataSet1.DataTable1, shopCD)

        Me.ReportViewer1.RefreshReport()
    End Sub
End Class

5.実行します。

2014年1月26日日曜日

【VB.NET】ReportViewer レポートを表示する②

ReportViewerを使ってSQLSereverのデータテーブルの内容をレポートに表示します。
大まかな手順は以下の通りになります。

  1. プロジェクトにデータセットを追加しデータテーブルを用意します。
  2. プロジェクトにレポートファイルを追加しレポートをデザインします。
  3. フォームにReportViewerを配置します。
  4. コードにデータ取得とReportrViewerの処理を記述します
ReportViewerタスクの「新しいレポートをデザインします」を使わない方法です。

使用例:「商品マスタ」「店舗マスタ」「販売テーブル」の結合データを取得しレポートに表示します。      (VS2010による使用例です。VS2008では若干操作が異なります。)

商品マスタのテーブル定義
インスタンス名SQLEXPRESSデータベース名SAMPLE_DB
論理テーブル名商品マスタ物理テーブル名M_ITEM
列定義
No論理名物理名データ型Nullを許容主キー
1商品CDITEM_CDnvarchar(4)NoYes
2商品名ITEM_NMnvarchar(32)No
3単価PRICEnumeric(8,0)No

店舗マスタのテーブル定義
インスタンス名SQLEXPRESSデータベース名SAMPLE_DB
論理テーブル名商品マスタ物理テーブル名M_ITEM
列定義
No論理名物理名データ型Nullを許容主キー
1商品CDITEM_CDnvarchar(4)NoYes
2商品名ITEM_NMnvarchar(32)No
3単価PRICEnumeric(8,0)No

売上データのテーブル定義
インスタンス名SQLEXPRESSデータベース名SAMPLE_DB
論理テーブル名売上データ物理テーブル名T_SALES
列定義
No論理名物理名データ型Nullを許容主キー
1NONOnumeric(8,0)NoYes
2店舗CDSHOP_CDnvarchar(4)No
3商品CDITEM_CDnvarchar(4)No
4売上数UNIT_SALESnumeric(8,0)No
5売上額SALES_AMOUNTnumeric(8,0)No


1.フォームにReportViewerを配置します。

2.ツールバーの「プロジェクト」→「新しい項目の追加」からデータセットを追加します。
  続けてツールボックスからデータセットにデータアダプターを追加します。

3.TeblAdapter構成ウィザードが起動されたらでーた接続を選択します。


4.コマンドの種類を選択します。


4.SQLステートメントを入力します。

5.生成するメッソドを選択します。

6.TableAdapter構成ウィザードを完了します。

7.データセットにTableAdaperが追加されています。

8.プロジェクトにレポートファイルを追加します。
  続けてツールボックスからレポートにテーブルを追加します。

9.データセットのプロパティが起動されるのででデータソースとデータセットを選択します。

10.テーブルに列を追加します。

11.列に表示するアイテムを設定します。

12.ReportViewerタスクのレポートの選択で追加したレポートを選択します。

13.フォームに「データセット」「データアダプター」「バインディングソース」が追加されています。

14.フォームのLoadイベントにはデータ取得とReportViewerの処理が記述されています。

Public Class Form1

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        'TODO: このコード行はデータを 'DataSet1.DataTable1' テーブルに読み込みます。必要に応じて移動、または削除をしてください。
        Me.DataTable1TableAdapter.Fill(Me.DataSet1.DataTable1)

        Me.ReportViewer1.RefreshReport()
    End Sub
End Class
</ br>15.実行します。</ br>