CD管理台帳(アクセス)の作成(その3 ユーザーインターフェイスの設計・作成)

MS-Officeのアクセスによる「CD管理台帳」の作成を、「その1 概要設計」、「その2 テーブル、クエリの作成」、「その3 ユーザーインターフェイス の作成」の3回に分けてブログとしてみました。

これは「その3 ユーザーインターフェイスの設計・作成」のブログです。
具体的にはフォームとレポートとイベント(マクロ)の設計と作成を行います。フォームはテーブルやクエリの構想ができた後に、操作インターフェイスとして考えるのが良いと思います。もちろん、相互に関係してますのである程度は並行して進めることになります。以下で作成するフォームとレポートは以下のものです。9-gamenn
下図のようなインターフェイス、操作の流れとなっています。8-gamennフォームは6個で、
①:スタート画面、②:CD登録、③:CD検索、④:検索修正、⑤:検索表示(帳票)、
⑥:CD印刷
レポートは、
⑦:印刷 です。

【フォームとイベントの作成】

1.スタート画面
CD管理台帳を起動したとき表示される画面で、「検索」、「新規登録」と「終了」という三つの操作ボタンを配置したものです。
10-gamenn

CD台帳起動時にこのスタート画面が開くように設定
メニューの「ファイル」から「オプション」と進み、「Accessのオプション画面」を開いて、現在のデータベースで「フォームの表示」を「スタート画面」とします。
11-gamenn

<イベントのビルト>
ここでスタート画面に付加するイベントを書きますが、全部のフォームを作成した後に行うのが良いと思います。
①検索ボタンにつけるイベント
「CD検索」画面(フォーム)を開くようにし、次に「スタート画面」を閉じます。
12-gamenn

②新規登録ボタンにつけるイベント
「CD登録」画面を開きます
13-gamenn

③終了ボタンにつけるイベント
「スタート画面」フォームを閉じ、CD管理台帳を終わります
14-gamenn

2.CD検索フォーム
表示、修正、印刷のための検索抽出条件を設定する画面です。
ここでは抽出条件を選ぶコンボボックスや、検索文字を書き込むテキストボックスの設定があります。
未記入(空白)項目を除いた中でAND検索を行います。
このフォームのレコードソースは主CDTBです。
16-gamenn

<ジャンル>のコンボボックス設定
作曲者」「指揮者」「楽団」「独奏者」「楽器」の設定は「ジャンル」と同じです。15-gamenn

ジャンルの抽出条件選定操作以下のようにコンボボックスからですので簡単です。
17-gamenn

コンボボックスの設定はプロパティで行います。
コンボボックスの表示を文字だけにするため「書式」タブで「列幅」を0,4cmに設定18-gamenn

ソースは「ジャンルTB」テーブル(ジャンル以外は昇順にするクエリを選択)。
「ジャンルTB」の「ID」フィールドが「主CDTB」の「ジャンル」フィールドに結合しているので「連結列」は1。
入力用ボックスなので「使用可能」として「編集ロック」は外す。
19-gamenn

このボックスの名前は「ジャンル」としました。
20-gamenn

<テキストボックスの設定>「曲名」設定
「曲名」「備考」「CD番号」の設定は同じです。文字書式をテキスト形式とし、入力可能にする。名前は「曲名」とし、IME入力モードを使い、変換モードは「一般」とした。
21-gamenn22-gamenn

<イベントのビルド>
「修正」「表示」「印刷確認」「閉じる」ボタンへのイベント設定は、フォームなどを開いたり閉じたりするだけです。
「修正」ボタン
・「検索修正」フォームを開く
「表示」ボタン
・「検索表示」(帳票)フォームを開く
「印刷確認」ボタン
・「印刷中止」クエリを開く —-「CD印刷TB」テーブルのレコードを削除
・「印刷」クエリを開く —-「CD印刷TB」テーブルへ「検索Q]クエリで抽出したレコードを追加登録する
・「CD印刷」フォームを開く
「閉じる」ボタン
・「CD検索」フォームを閉じる
・「スタート画面」フォームを開く

3.CD登録フォーム
説明が前後しましたが、CDデータを新規登録するフォーム(画面)です。
登録はテンプレートのテーブルへ書き込み、確認後、本物の「主CDTB」へ書き込みますので、レコードソースは「主CDTB-TEMP」です。
23-gamenn

<ジャンル>コンボボックスの設定
「ジャンル」「作曲者」「指揮者」「独奏者」「楽団」「楽器」の設定は同じです。
「ジャンル」のプロパティ設定の大部分は「CD検索」フォームと同じですが、異なるのは「データ」タブで「規定値」に「1」(クラシック)入れていることです。ボックスの名前は「ジャンル」としています。
24-gamenn

25-gamenn

このCD管理台帳では、検索対象となるフィールドの一つでも空白があると検索時にそのレコードを無視します。「主CDTB」テーブルで値要求を設定して、検索対象フィールドに一つでも空白があると登録できないようにしていますが、登録時でもうっかりして空白の検索対象フィールドを生じさせないように規定値として無難な値を自動的に入れています(記入忘れがあっても登録できます、また確定できないことも多いと思いますので運用上は役立つと思います)。
「ジャンル」はクラシックですが、「作曲者」「指揮者」「独奏者」「楽団」「楽器」コンボボックスの初期設定は「その他」です。

<曲名>テキストボックスの設定
「備考」「参考」「演奏年月」「購入年月」「製造者」「CD番号」の設定は、「曲名」と同じです。規定値は「*」としました。ただ数値を入れる「CD番号」には規定値を入れておらず空白です。この方が操作上は良いと思います。また検索項目外(「参考」や「演奏年月」には規定値は不要ですが、将来的なシステム改修に備え、規定値を入れておくのも良いかと思います。26-gamenn

一枚のCDに二つの曲が収められているときは、同じCD番号で曲名を変えて(場合によっては作曲者なども異なります)二つのレコードとしました。ただポピュラーや演歌のように曲数があまり多い時は、面倒などで、複数の曲名を併記しました。こうしても曲名で検索すれば検索できます(異なる歌手や作曲者を「備考欄」に併記しておけば歌手や作曲者でも検索できます)。

<イベントのビルド>
「登録」「取消」ボタンのイベントもフォームやクエリを開いたり閉じたりするだけです。
「登録」ボタン
・「追加登録」クエリを開く
・「CD登録」フォームを閉じる
・「スタート画面」フォームを開く
・「登録中止」クエリを開く
「取消」ボタン
・「登録中止」クエリを開く
・「CD登録」フォームを閉じる
・「スタート画面」フォームを開く

4.「検索修正」フォーム
抽出検索したレコードの修整を行うフォームです。レコードソースは「検索Q」クエリーです。よって各ボックスのコントロールソースは「主CDTB」各フィールドとなります。
レコードの全フィールドが修正できます。各フィールドの設定は「CD登録」フォームと同じです。もちろん規定値は設定しません。
27-gamenn

28-gamenn

<イベントのビルド>
「再検索」「終了」ボタンのイベントも簡単なものです。
「再検索」
・「検索修正」フォームを閉じる
「終了」
・「検索修正」フォームを閉じる
・「CD検索」フォームを閉じる
・「スタート画面」フォームを開く

5.「検索表示(帳票)」フォーム
抽出検索したレコードの表示を行うフォームです。レコードソースは「検索Q」クエリーです。よって各ボックスのコントロールソースは「主CDTB」各フィールドとなります。
レコードの全フィールドは変更できません、みるだけです。通常はこの検索抽出してCDを探すことが操作の大部分を占めますので、誤操作などによるデータ変更を防ぐ必要があります。29-gamenn

30-gamenn

<イベントのビルド>
「再検索」「終了」ボタンのイベントは「検索修正」フォームと同じです。
「再検索」
・「検索表示(帳票)」フォームを閉じる
「終了」
・「検索表示(帳票)」フォームを閉じる
・「CD検索」フォームを閉じる
・「スタート画面」フォームを開く

6.「CD印刷」フォーム
抽出検索したレコードの印刷確認を行う一覧表形式のフォームです。
全フィールドが表示可能ですが、ここでは「CD番号」「ジャンル」「曲名」「作曲者」「指揮者」「独奏者」「楽団」「楽器」「備考」のみを表示しています。
レコードソースは「CD印刷TB」テーブルです。よって各ボックスのコントロールソースは「CD印刷TB」各フィールドとなります。レコードの全フィールドは変更できません。
31-gamenn

32-gamenn

作曲者をベートウベンとして時の印刷確認画面
33-gamenn

<イベントのビルド>
「印刷」ボタンから印刷用のレポート「印刷」を作ります。「再検索」ボタンからは検索画面へ戻ります。
「印刷」
・「印刷」レポートを開く
・「CD印刷」フォームを閉じる
「再検索」
・「CD印刷」フォームを閉じる

7.「印刷」レポート
検索抽出した一覧表をプリンターで印刷するためのレポートです。レコードソースは「CD印刷TB」テーブルです。左にある「印刷」ボタンをクリックすると既定のプリンターでの印刷が始まります。「終了」でスタート画面へ戻ります。
印刷範囲は「CD印刷」フォームと一緒にしていますが、「演奏年月」など他のフィールドを印刷するように変更修正できます(「CD印刷TB」テーブルは「主CDTB」と同じフィールドを持ってます)。
31-gamenn

34-gamenn

<イベントのビルド>
「印刷」「終了」ボタンのイベントは同じようなものです。
「印刷」
・印刷プレビューの実行
・オブジェクトの印刷を実行
・「印刷」レポートを閉じる
・「スタート画面」を開く
「終了」
・「印刷」レポートを閉じる

広告
カテゴリー: アクセス, データベース, Office(オフィス) タグ: , , パーマリンク

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中