連載:VB 6ユーザーのための
これならマスターできるVB 2005超入門

第5回 データベースはじめの一歩

羽山 博
2006/12/27
Page1 Page2 Page3 Page4

サンプル・プログラム5 − コードなしのデータベース検索プログラム

 前回のおさらいが長くなってしまったが、そろそろ今回のサンプル・プログラムに移ろう。

 Visual Basic 6(以下VB 6)を使っていた人が……つまりは私のことなのだが……Visual Basic 2005(以下VB 2005)を目の前にして、どう手を付けていいか分からずぼう然と立ちつくしてしまう変化の1つが、データベース機能だろう。

 「データ・コントロールはどこに行ったの?」「どのコントロールを配置すればいいの?」とヘルプを見ても、「DataSetを利用したn層アーキテクチャ」だとか「非接続型のデータ・アクセス」だとか、「読み出し専用の場合はDataReaderを使った接続型で」といった、なぞの預言書のような文章ばかりで、結局、何をどうすればいいのかがまったく分からない。

 ヘルプのリンクをあっちにたどり、こっちにたどり、サンプルのデータベースを作って試行錯誤を繰り返し、ようやく少しばかりの理解にたどりつくまでに相当の時間がかかった。これから始める人にも同じ苦労を強要し、貴重な時間を浪費させることだけは避けたいので、はじめの一歩をできるだけ分かりやすく説明したいと思う。

 サンプル・プログラムは、前回と同じものではつまらないので、会員情報の検索プログラムとした。前回の「商品」が、今回は「会員」となっているだけで、さほどの違いはないのだが、目先が変わって少しでも新鮮に感じてもらった方が、集中力も減退せずに済むだろう……ということで。

 このプログラムでは、会員コードを入力すると、会員名と所有ポイントが表示される。ネット通販のポイント制度や、英会話学校のポイント制度を思い浮かべてもらうとよいだろう(以前私が通っていた英会話学校では、生徒はポイントをまとめて購入し、グループレッスンを受けると1ポイント、個人レッスンを受けると4ポイント支払うという制度だった)。

 実行時のウィンドウは以下のようなものとしよう。DataGridViewコントロールに、表形式ですべてのデータを表示している(図2)。


図2 プログラムの完成イメージ
プログラムを実行すると、データベースからすべての行が読み出され、DataGridViewコントロールに表示される。
  レコードを操作するためのBindingNavigatorコントロール。
  データを表示するためのDataGridViewコントロール。
  先頭のレコードに戻る。
  1つの前のレコードに戻る。
  レコード番号を指定する。
  全レコード数が表示されている。
  1つ次のレコードに進む。
  最後のレコードに進む。
  新しいレコードを追加する。
  現在のレコードを削除する。
  変更をデータベースに保存する。

 今回は、取り組みやすさを考えてAccessのデータベースを使うことにする。図3に示したAccessの画面を見ても分かるように、データベースは「UserData.mdb」というファイル名で、取り扱うテーブルは「Point」という名前になっている。


図3 今回取り扱うAccessのデータベース
連番、会員コード、氏名、所有ポイントからなる簡単なデータベースを利用する。ファイル名はUserData.mdb、テーブル名はPointとする。このデータベースはここ(UserData.mdb)からダウンロードできるようにしてある。
  idには連番が入る。データ型はオートナンバー型。
  codeは会員コード。データ型はテキスト型。桁数は将来の拡張も考えて8桁。
  nameは氏名。データ型はテキスト型。桁数は50桁。
  pointは所有ポイント。データ型は長整数型。

 ではVB 2005を起動して、プログラムの作成に取りかかろう。新規作成するプロジェクトの種類はこれまでと同じ「Windowsアプリケーション」を選択する。

■データソースを指定する

 これまで、プログラム作成の最初の手順はフォームのデザインだった。VB 6でもフォーム上にデータ・コントロールや連結コントロールを配置するところから始めていた。しかし、VB 2005でデータベースを取り扱うときには、発想を逆転させる必要がある(というほど、大げさなものではないのだが)。フォームをデザインする前に、データソースを指定する。

 データソースとはプログラムで利用する元のデータのことで、具体的にはデータベースや、データベースに含まれるテーブルや項目(フィールド)のことを意味する。従って、まずはデータベースを指定する。図4のように、今回利用するUserData.mdbファイルをソリューション・エクスプローラに表示されているプロジェクト名のところにドラッグ&ドロップしよう。


図4 データベースを指定する
データベースを指定するための最も簡単な方法は、ドラッグ&ドロップ。メニューから[データ]−[新しいデータソースの追加]を選んで、データベースを指定することもできる。

 データベースをドラッグ&ドロップすると、自動的に[データソース構成ウィザード]が表示される(図5)。ここで、利用したいテーブルや項目を選択する。


図5 [データソース構成ウィザード]でテーブルや項目を指定する
データベースに含まれるどのテーブルのどの項目を使うかを指定する。マウスのクリックでチェック・マークを付けるだけ。[データセット名]を必要に応じて変更し、[完了]ボタンをクリックすればデータソースの指定はおしまい。

 ここで「テーブル」のツリーを開いて、「Point」というテーブル名のチェックボックスをクリックしてオンにしておこう。項目については自動的にすべてがオンになるが、不要な項目があればチェックを外しておけばよい。

 ウィンドウの下の方にある[データセット名]には、データベース名に「DataSet」が付け加えられた名前が自動的に付けられる。今回はデータベース名がUserDataなので「UserDataDataSet」となってしまい、冗長なので、「UserDataSet」という名前に変更した。「データセット」が何であるかは後のお楽しみということにして、以上でデータソースの指定は終わりとなる。つまり「このプログラムでは、このテーブルのこのデータを使いますよ」という指定ができたわけである。


 INDEX
  連載:VB 6ユーザーのためのこれならマスターできるVB 2005超入門
  第5回 データベースはじめの一歩
    1.ユーザビリティ小考 〜 前回の反省から
  2.サンプル・プログラム5 − コードなしのデータベース検索プログラム
    3.DataGridViewコントロールを配置する
    4.サンプル・プログラム6 − 検索のためのコードを記述する
 
インデックス・ページヘ  「これならマスターできるVB 2005超入門」


Insider.NET フォーラム 新着記事
  • 第2回 簡潔なコーディングのために (2017/7/26)
     ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている
  • 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
     Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう
  • 第1回 明瞭なコーディングのために (2017/7/19)
     C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える
  • Presentation Translator (2017/7/18)
     Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)
- PR -

注目のテーマ

業務アプリInsider 記事ランキング

本日 月間
ソリューションFLASH