本連載はMicrosoft Access(マイクロソフトアクセス 以下、Access)を使って、リレーショナルデータベース(RDB)やSQLの基本を学び、データベースを使った簡単なシステムの作り方を習得するものだ。
前回は「SQL文で登録されているデータの編集処理を可能にし、変更をデータベースに反映させる仕組みを作る方法」を解説した。
Accessによる「顧客管理テーブル」を使って実際に顧客情報の管理を行うならば、その顧客へ案内状や資料、パンフレットなどを送る業務もあるだろう。顧客数が100件程度ならば手書きでも対処できるが、数百、数千件にもなれば現実的ではない。そこで今回は、この業務を想定した「ラベル印刷」機能を実装するノウハウを紹介する。
今回も、第1回「どんなビジネスにも欠かせないリレーショナルデータベースの基礎知識と作り方――テーブル、レコード、フィールド、主キーとは」、第2回「Access VBAでデータ入力フォームを作り、各コントロールを追加するためのデザインビューの使い方」で作成した「顧客管理.accdb」を使用する。「顧客管理.accdb」をダブルクリックし、ナビゲーションウインドウから「顧客管理テーブル」を表示してほしい。
また、「検索機能」については、第5回「AccessでSQLのLIKE演算子を使って“あいまい検索処理”の機能を実装する方法」を、「データ編集機能」については、第6回「“SQL”文で登録されているデータをAccessを通じて編集し、変更をデータベースに反映させる方法」をそれぞれ参照してほしい。
まず、「宛名ラベル」のテンプレートから作成しよう。宛名ラベルは、Accessメニューから「作成」→「宛名ラベル」メニューより作成できる(図1)。
「宛名ラベル ウィザード」が起動するので、使用する「ラベルの種類」を選んで設定していく(図2)。今回は一例として、高さ42ミリ×幅84ミリのラベルが2列×6段に区切られた仕様のエーワン「AOne28915」を使うことにする。
用紙を選択したら、「文字のスタイル」を設定する。
今回はフォント名に「Meiryo UI」、サイズは「12」、文字の太さは「中太」を指定する(図3)。
「次へ」をクリックすると、「ラベルに印字するフィールドと文字を指定する」画面が表示される。「選択可能なフィールド」から印字したい「フィールド」を選び、「>」ボタンで「ラベルのレイアウト」へ登録する。
今回は「宛名ラベル」なので、「郵便番号」「住所」「氏名」のフィールドを選択すればよい。「氏名」の後には、「様」を追記するよう記述を追加する(図4)。
続いて、印刷するラベルの順序を並べ替える設定を行う。「選択可能なフィールド」から「郵便番号」を選択して、「並べ替えを行うフィールド」へ移す。これで、印字される住所が「郵便番号順」になる(図5)。
「レポート名を指定」の入力欄は、デフォルト名のままでよい。「ラベルを作成した後に行うこと」の選択肢では、「ラベルのデザインを編集する」をチェックする。(図6)。
「完了」をクリックすると、「ラベルのデザイン画面」が表示される(図7)。
ウィザードで作成されたラベルのデザインを確認すると、「郵便番号」「住所」「氏名」がラベルの上部に偏ってしまっている。これでは格好が悪いので、印字の位置が中央になるように調整する(図8)。「郵便番号」「住所」「氏名」のフィールドをまとめて選択し、キーボードの「↓」キーで位置を調整しよう。
作業が終わったら、上書き保存をしておこう。
続いて、「ナビゲーションウインドウ」内の「レポート」を選択する。レポートメニューはウインドウ右端の「▼」アイコンを押すと表れる(図9)。
完成した宛名ラベルは「ラベル 顧客管理テーブル」の「印刷プレビュー」より確認できる(図10)。
Copyright© 2016 ITmedia, Inc. All Rights Reserved.