連載
» 2016年10月13日 05時00分 UPDATE

Access VBAで学ぶ初心者のためのデータベース/SQL超入門(11):顧客管理フォームに、「条件に合致するレコードを検索する機能」を設置する (1/4)

Accessを通じて、初心者がリレーショナルデータベースやSQLの基本を学び、データベースを使った簡単なシステムの作り方を習得する本連載。今回は、「レコードの移動」「複数の条件に合致するレコードを検索する」といったレコード処理の応用テクニックを解説する。

[薬師寺国安,PROJECT KySS]
Access VBAで学ぶ初心者のためのデータベース/SQL超入門

連載目次

連載の目的と前回のおさらい

 本連載はMicrosoft Access(マイクロソフトアクセス 以下、Access)を使って、リレーショナルデータベース(RDB)やSQLの基本を学び、データベースを使った簡単なシステムの作り方を習得するものだ。

 前回は、「DAO(Data Access Objects)」を利用してデータベースを操作するテクニックを解説した。

 今回は、比較的身近なものと思われる顧客管理データベースを例に、SQLやデータベース操作の基礎となる「レコードの移動」「同じ条件に合致するレコードを1つずつ表示する」「複数の条件に合致するレコードを検索する」といったレコード処理の応用テクニックを解説する。

本題に入る前に……

 今回もこれまでと同様に、バックナンバーである第1回「どんなビジネスにも欠かせないリレーショナルデータベースの基礎知識と作り方――テーブル、レコード、フィールド、主キーとは」第2回「Access VBAでデータ入力フォームを作り、各コントロールを追加するためのデザインビューの使い方」など、過去10回までの記事で作成してきた「顧客管理.accdb」を使用する。

 なお、Accessの基本的な操作手順である、フォームやコントロールの配置の仕方、「VBE(Visual Basic Editor)」のコードエディタでプロシージャを作成する方法などについてもバックナンバーで解説している。もし、この記事から読み始めた方は、連載の第1回に戻って順に読み進めてただければ幸いだ。


レコードを移動するフォームを作成する

 では、「レコード移動」のフォームから作っていく。ここではフォーム上に全てのフィールドを表示させるために、「テキストボックス」コントロールを7個配置する。図1が完成形だ。

photo 図1 作成するフォームの完成形

 順に作成していこう。Accessメニューの「作成」→「フォームデザイン」で表示されるフォームのデザイン画面から新規フォームを作成し、フォーム上の右クリックメニュー→プロパティシートより、レコードソースに「顧客管理テーブル」を指定する(図2)。

photo 図2 フォームのプロパティから「データ」タブを選択し、「レコードソース」に「顧客管理テーブル」を選択する

 次に、1つ目のテキストボックスコントロール「ID」を作る。テキストボックスを配置し、左に表示されるラベルのプロパティシートより表題を「ID:」とする。書式は「フォント名=Meiryo UI」「フォントサイズ=14」「フォント太さ=太字」とする(以下、この書式設定を本稿では「標準書式」とする。また、書式は好みのものに変更しても構わない)。続いて「ID」テキストボックスのプロパティシートより、コントロールソースに「ID」を指定し、書式設定は「標準書式」を適用する(

図3)。

photo 図3 「ID」表示用テキストボックスのコントールソースに「ID」と指定する

 同様に、「氏名」「性別」「年齢」「郵便番号」「住所」「電話番号」表示用のテキストボックスコントールを順に作っていく。ラベルには「標題」を指定し、書式設定は「標準書式」を適用する。それぞれのテキストボックスに指定するコントロールソースは以下の通りだ。

テキストボックスのラベル名 指定するコントロールソース
ID: ID
氏名 氏名
性別 性別
年齢 年齢
郵便番号 郵便番号
住所 住所
電話番号 電話番号

 図1のようにフォームデザインが完成したら、フォームを保存する。フォーム名は「レコード移動フォーム」としてほしい。

 完成したフォームを実行してみよう。フォームビューに切り替えると、フォームの下段に「ナビゲーションコントロール」が表れる。ここから、前後のレコードに移動できる(図4)。

photo 図4 ナビゲーションコントロールでレコードを前後に移動できる

 Accessに用意されているナビゲーションコントロールを使えば、コードの作成なしに「レコード移動」の機能を簡易的に実現できる。また、テキストボックスとフィールドを連結させれば、自動的にテキストボックスへデータを表示してくれる。VBAやSQLを使わずに「レコードを移動する」の操作を実現する、簡易的な方法の1つとして覚えておいてほしい。

 続いて、フォーム上に「性別でテーブルを検索」という「コンボボックス」コントロールを配置し、「性別」で顧客管理テーブル内のレコードを検索する機能を追加してみよう。

       1|2|3|4 次のページへ

Copyright© 2017 ITmedia, Inc. All Rights Reserved.

@IT Special

- PR -

TechTargetジャパン

この記事に関連するホワイトペーパー

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。