SHOEISHA iD

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

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

ComponentZine(True WinChart)

Accessのデータをステップチャートで表示する.NETアプリケーションの作成

TrueChart for Windows FormsのC1Chart(2D)コントロールを使ったアプリケーションの作成

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

フォームの作成

 では、さっそくプログラムを作成しましょう。

 作成するプログラムでは、Accessのデータベース「国内定期航空月別旅客実績.mdb」に接続し、テーブル「旅客数」から3つのデータを読み込みステップチャートで表します。

GUIのデザイン

 使用するコントロールは、C1ChartとADO.NET関係の「OleDbConnection」「OleDbDataAdapter」「DataSet」「DataView」ですが、「DataSet」だけはデータ連結操作で作成されます(各コントロールの設定については、次の項目で紹介していきます)。

フォームのレイアウト
フォームのレイアウト

データ連結の作成

 最初に、Accessのデータベースを連結するために、OleDbDataAdapterコントロールを設定します。

 1)フォームにOleDbDataAdapterコントロールを配置

 「データアダプタ構成ウィザード」が起動するので、[新しい接続]から、Accessデータベースファイル「国内定期航空月別旅客実績.mdb」を選択します。[テスト接続]ボタンをクリックして接続を確認します。

Accessデータベースファイル「国内定期航空月別旅客実績.mdb」を選択
Accessデータベースファイル「国内定期航空月別旅客実績.mdb」を選択

 接続が確認し、次へ進みます。

 2)データベースファイルをプロジェクトに組み込む

 データベースファイルをプロジェクトに組み込むかどうかを聞いてくるので、[いいえ]ボタンをクリックし、データベースにアクセスするためのSQLステートメント作成画面に移った後、[次へ]ボタンを押します。

 「SQLステートメントの生成」画面にて[クエリビルダー]ボタンをクリックし、テーブル「旅客数実績」を追加して、「月名」「平成21年度」「平成22年度」のフィールドにチェックを入れます。クエリを実行し、12か月分のデータが抽出されることを確認してください。

「月名」「平成21年度」「平成22年度」のフィールドにチェックを入れて[クエリの実行]ボタンをクリックし、12か月分のデータが抽出されることを確認
「月名」「平成21年度」「平成22年度」のフィールドにチェックを入れて[クエリの実行]ボタンをクリックし、12か月分のデータが抽出されることを確認

 3)「主キーの追加」メッセージボックスを表示

 「主キーの追加」メッセージボックスが表示されたら、[完了]ボタンをクリックします。

 4)OleDbDataAdapterコントロールのスマートタグを表示

 「データセットの生成」をクリックするとダイアログボックスが表示されるので、「新規作成」が選択されているのを確認してください。

スマートタグで[データセットの生成]をクリック
スマートタグで[データセットの生成]をクリック

 5)フォームの「Load」イベントハンドラでクエリを実行

 下記のように、dataSetコントロールに組み込むコードを記述します。

Visual Basic
Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
    OleDbDataAdapter1.Fill(DataSet11)
End Sub
C#
private void Form1_Load(object sender, EventArgs e)
{
    oleDbDataAdapter1.Fill(dataSet11);
}

 6)フォームにdataViewコントロールを配置

 フォームデザイナに戻り、フォームにdataViewコントロールを配置したら、下記のプロパティを設定します。このコントロールを使って、C1Chartとクエリ結果セットを連結します。

プロパティ 設定値
AllowDelete False
AllowEdit False
AllowNew False
Table dataSet11.旅客数実績

 これで、C1ChartコントロールにAccessデータベースを連結する準備ができました。

ステップグラフの作成

 続いて、C1Chartコントロールをフォームに配置し、ステップチャートを作成していきます。

 1)C1Chartコントロールをツールボックスへ

 ツールボックスからC1Chartコントロールのアイコンをフォームにドラッグアンドドロップします。Dockプロパティを「Fill」にしてフォーム全体に広げます。

 2)「グラフのプロパティ」ダイアログボックスを表示

 C1Chartコントロールのスマートタグから「プロパティ」をクリックし、「グラフのプロパティ」ダイアログボックスを表示します。左側のペインの「グラフ種」をクリックし、「ステップチャート,シンボル」を選びます。

「グラフのプロパティ」ダイアログボックスで「グラフ種-ステップチャート,シンボル」を選ぶ
「グラフのプロパティ」ダイアログボックスで「グラフ種-ステップチャート,シンボル」を選ぶ

 3)「dataView1」に接続

 左ペインの「データ-接続」をクリックし、「データソース」のリストから「dataView1」を選びます。

「データソース」のリストから「dataView1」を選ぶ
「データソース」のリストから「dataView1」を選ぶ

 4)「series2」「series3」を削除

 左ペインの「データ」をクリックし、「データセット」の「series2」「series3」を削除します。「series0」をクリックし「ラベル」を「平成21年度」に変更、「データ連結」の「X」を「月名」、「Y」を「平成21年度」に設定します。

「ラベル」を「平成21年度」に、「データ連結」の「X」を「月名」、「Y」を「平成21年度」に設定
「ラベル」を「平成21年度」に、「データ連結」の「X」を「月名」、「Y」を「平成21年度」に設定

 同様の操作を「series1」に対しても行います。「series1」をクリックし「ラベル」を「平成22年度」に変更し、「データ連結」の「X」を「月名」、「Y」を「平成22年度」に設定します。

 5)「X軸」「Y軸」のタイトルを変更

 左ペインの「X軸」をクリックし、タイトルを「Axis X」から「月名」に変更します。続いて、「Y軸」をクリックし、タイトルを「Axis Y」から「旅客数」に変更します。なお、この時点で「適用」ボタンを押すと、これまでの設定がフォームに配置したC1Chartコントロールに反映されます。ただし、データはフォームのLoadイベントハンドラが実行されないとクエリ結果がDataSetに格納されませんので、フォームデザイン時は抽出データは反映されていません。

「X軸」「Y軸」のタイトルを変更する
「X軸」「Y軸」のタイトルを変更する
「適用」ボタンを押すとプロパティ設定がフォームのC1Chartコントロールに反映される

 6)グラフのタイトルを設定

 左ペインの「外観-ヘッダ」をクリックし、「表示」をクリックしてチェックを付け、「テキスト」に「国内定期航空月別旅客実績」と入力します。そして、[フォント]ボタンをクリックし、フォントサイズを「20」に設定します。また、前景色を「LimeGreen」に設定します。

タイトルを入力しフォントサイズを「20」に、前景色を「LimeGreen」に変更
タイトルを入力しフォントサイズを「20」に、前景色を「LimeGreen」に変更

 7)凡例を表示

 左ペインの「外観-凡例」をクリックし、「表示」をクリックしてチェックを付けます。これで、自動的に凡例が表示されます。[適用]ボタンを押すと、フォームに配置したC1Chartコントロールに凡例が表示されます。

C1Chartコントロールに凡例が表示される
C1Chartコントロールに凡例が表示される

 8)プログラムの実行

 これで、一通りグラフ作成の基本的な設定が終わりました。ここで一度プログラムを実行し、設定どおりのステップチャートができあがっているかどうか確認します。

ここまでの設定を確認
ここまでの設定を確認

次のページ
グラフを装飾する

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

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

もっと読む

この記事の著者

瀬戸 遥(セト ハルカ)

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

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

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

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/6497 2012/03/30 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

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

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

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

メールバックナンバー

アクセスランキング

アクセスランキング