CodeZine(コードジン)

特集ページ一覧

Accessのデータベースを帳票化する

PowerTools True WinReports for .NETの帳票作成機能を使う

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2007/09/19 14:00
目次

フォームの初期化処理の作成

 コードの先頭で、importsまたはusingを使い、C1.Win.C1Reportへの参照を設定します。そして、フォームのLoadイベントハンドラでComboBoxのTextプロパティを設定します。

Visual Basic
Imports C1.Win.C1Report

Private Sub Form1_Load(ByVal sender As System.Object, _
                  ByVal e As System.EventArgs) Handles MyBase.Load
    Me.ComboBox1.SelectedIndex = 0
End Sub
C#
using C1.Win.C1Report;

private void Form1_Load(object sender, EventArgs e)
{
    ComboBox1.SelectedIndex = 0;
}

C1Report1の設定

 最初に、C1Reportコンポーネント「C1Report1」に、サンプルデータベースのテーブルからデータを取り出して表示する、単純な一覧表を作成する処理を組み込みます。

使用するデータベース

 サンプルで使用するデータベースは、テーブルが1つの簡単なデータベースです。データを抽出するクエリは、C1Reportの設定で行いますので、データベースには作成していません。

 テーブルは4つのフィールドからなり、それぞれ「ID」「メーカー」「製品名」「カラー」にデータが順不同で入力されています。

一覧表の作成

 C1Report1コンポーネントを使って一覧表を作成するには、ウィザードを使う方法とデザイナを使用して作成する方法がありますが、最初はウィザードを使って作成してみましょう。

1.レポートの編集

 C1Report1をクリックし、タスクメニューから「レポートの編集」を選びます。

「レポートの編集」を選ぶ
「レポートの編集」を選ぶ

 「レポート新規作成ウィザード」が開きますので、「接続文字列」の[...]ボタンを押します。

 すると、データベースへの接続を設定するおなじみの画面が出てきますので、[プロバイダ]から「Microsoft Jet4.0 OLE DB Provider」を選びます。データベース名に「guiter.mdb」を指定し[接続のテスト]で接続できることを確認します。

guiter.mdbを指定し接続を確認する
guiter.mdbを指定し接続を確認する

2.SQL構文の構築

 ウィザードに戻り「SQL構文」にチェックが入っているのを確認し、ツールバーの[SQL構文の構築]ボタンを押します。

 「SQLビルダ」が起動するので、テーブルを展開し、フィールドをダブルクリックして抽出するデータのあるフィールドを指定します。

SQLビルダで抽出するフィールドを指定する
SQLビルダで抽出するフィールドを指定する

3.レポートに表示するフィールドの指定する

 ウィザードを進め、レポートに表示するフィールドを指定します。なお、一覧表はこのフィールドを並べた順番で作成されるので、列の指定順序に注意してください。

レポートに表示するフィールドを指定
レポートに表示するフィールドを指定

4.レイアウトの決定

 [レイアウト]で「表形式」を選び、そのままOKボタンを押してウィザードを進め、最後にレポート名を「製品一覧レポート」に変更して[完了]ボタンを押します。

5.プレビュー

 作成した一覧表のプレビューが表示されるので、内容を確認してウィンドウを閉じます。

レポートのプレビュー
レポートのプレビュー

6.イベントハンドラの設定

 VSに戻り、ボタン「標準一覧表」のClickイベントハンドラに、作成した一覧表をC1PrintPreviewControlコンポーネントで表示する処理を作成します。

 C1ReportコンポーネントのDocumentプロパティの値を、C1PrintPreviewControlのDocumentプロパティに代入し、C1PrintPreviewControlのInvalidateメソッドを実行して表示を更新するようにすれば完成です。

Visual Basic
Private Sub Button1_Click(ByVal sender As System.Object, _
             ByVal e As System.EventArgs) Handles Button1.Click
    Me.C1PrintPreviewControl1.Document = Me.C1Report1.Document
    Me.C1PrintPreviewControl1.Invalidate()
End Sub
C#
private void Button1_Click(object sender, EventArgs e)
{
    c1PrintPreviewControl1.Document = C1Report1.Document;
    c1PrintPreviewControl1.Invalidate();
}

  • LINEで送る
  • このエントリーをはてなブックマークに追加

バックナンバー

連載:ComponentZine(ComponentOne)

もっと読む

著者プロフィール

  • 瀬戸 遥(セト ハルカ)

    8ビットコンピュータの時代からBASICを使い、C言語を独習で学びWindows 3.1のフリーソフトを作成、NiftyServeのフォーラムなどで配布。Excel VBAとVisual Basic関連の解説書を中心に現在まで40冊以上の書籍を出版。近著に、「ExcelユーザーのためのAccess再...

あなたにオススメ

All contents copyright © 2005-2022 Shoeisha Co., Ltd. All rights reserved. ver.1.5