Accessを通じて、初心者がリレーショナルデータベースや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が完成形だ。
順に作成していこう。Accessメニューの「作成」→「フォームデザイン」で表示されるフォームのデザイン画面から新規フォームを作成し、フォーム上の右クリックメニュー→プロパティシートより、レコードソースに「顧客管理テーブル」を指定する(図2)。
次に、1つ目のテキストボックスコントロール「ID」を作る。テキストボックスを配置し、左に表示されるラベルのプロパティシートより表題を「ID:」とする。書式は「フォント名=Meiryo UI」「フォントサイズ=14」「フォント太さ=太字」とする(以下、この書式設定を本稿では「標準書式」とする。また、書式は好みのものに変更しても構わない)。続いて「ID」テキストボックスのプロパティシートより、コントロールソースに「ID」を指定し、書式設定は「標準書式」を適用する(
図3)。
同様に、「氏名」「性別」「年齢」「郵便番号」「住所」「電話番号」表示用のテキストボックスコントールを順に作っていく。ラベルには「標題」を指定し、書式設定は「標準書式」を適用する。それぞれのテキストボックスに指定するコントロールソースは以下の通りだ。
テキストボックスのラベル名 | 指定するコントロールソース |
---|---|
ID: | ID |
氏名 | 氏名 |
性別 | 性別 |
年齢 | 年齢 |
郵便番号 | 郵便番号 |
住所 | 住所 |
電話番号 | 電話番号 |
図1のようにフォームデザインが完成したら、フォームを保存する。フォーム名は「レコード移動フォーム」としてほしい。
完成したフォームを実行してみよう。フォームビューに切り替えると、フォームの下段に「ナビゲーションコントロール」が表れる。ここから、前後のレコードに移動できる(図4)。
Accessに用意されているナビゲーションコントロールを使えば、コードの作成なしに「レコード移動」の機能を簡易的に実現できる。また、テキストボックスとフィールドを連結させれば、自動的にテキストボックスへデータを表示してくれる。VBAやSQLを使わずに「レコードを移動する」の操作を実現する、簡易的な方法の1つとして覚えておいてほしい。
続いて、フォーム上に「性別でテーブルを検索」という「コンボボックス」コントロールを配置し、「性別」で顧客管理テーブル内のレコードを検索する機能を追加してみよう。
Copyright © ITmedia, Inc. All Rights Reserved.