SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

ComponentZine(ComponentOne)

Accessのデータベースを帳票化する-クエリ結果によって値を入れ替える

クエリ結果によって帳票のタイトルを入れ替える

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

説明用Fieldの作成

 今度は、メーカの説明文を表示するFieldを作成し、タイトル用Fieldの上に重ねて配置します(なお、ここでは便宜上3つだけ作成します)。

 この処理は、ComboBoxで選択されたメーカー名で処理を分岐するようにします。

Fieldの追加

 まず、タイトル用Fieldの高さと背景色を変更します。

 そして、タイトル用Fieldと同じようにFieldsコレクションのAddメソッドを実行します。引数の文字列は配列から取得します。

Visual Basic
Select Case Me.ComboBox1.SelectedIndex
    Case 0
        With Me.C1Report1.Sections(SectionTypeEnum.Header)
            .Height = 1000
            .Visible = True
            .BackColor = Color.BlueViolet

            f = .Fields.Add("exp", exp(0), 100, 800, 8000, 1500)
            f.Font.Size = 12
            f.ForeColor = Color.Gold
        End With
C#
switch(ComboBox1.SelectedIndex){
    case 0:
        s.Height = 1000;
        s.Visible = true;
        s.BackColor = Color.BlueViolet;
        f = s.Fields.Add("exp", exp[0], 100, 800, 8000, 1500);
        f.Font.Size = 12;
        f.ForeColor = Color.Gold;
        break;

 これで、1つ目のメーカー説明文が出来上がりました。同じようなコードを、他のメーカー分作成します。

タイトル文字の色を入れ替える

 なお、case 2とcase 3では、見栄えをよくするためだけですが、タイトルの文字色を入れ替えておきます。

 既に作成したFieldオブジェクトを参照するには、インデックス番号以外に、Addメソッドで付けたオブジェクト名を使って参照することもできます。

 タイトル用Fieldは、Addメソッドで「title」という名前をつけているので、これを使って参照します。

Visual Basic
.Fields("title").ForeColor = Color.Blue
C#
s.Fields["title"].ForeColor = Color.LimeGreen;

 これで、3種類のタイトルが出来上がります。

それぞれクエリの結果ごとにタイトルを入れ替える
それぞれクエリの結果ごとにタイトルを入れ替える

まとめ

 クエリの結果によってレポートの形式を切り替えることができるようになると、アプリケーションの魅力もぐっとアップします。

 今回は、説明文はコードの中に埋め込みましたが、説明文をデータベースやテキストファイルに格納しそこから取り出せるようにすれば、もっと便利な機能になります。

 ヘッダーを例にコードの説明をしましたが、Fieldはレポート内のいろいろなところに組み込め、それぞれセクションごとに分けて操作できるので、プログラム実行時にいろいろなレポートが作成できるようになります。今回は、Fieldを作り直して入れ替えるようにしましたが、すでにあるFieldのプロパティを操作してコンテンツを入れ替えるようにすることもできます。

 このFieldをうまく使うと、見栄えの良いレポートを作り出すことができます。

次のページ
コード全文

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
ComponentZine(ComponentOne)連載記事一覧

もっと読む

この記事の著者

瀬戸 遥(セト ハルカ)

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

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/1815 2008/06/24 15:07

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング