我家の「映画、TV番組」DVDデータベース作製(3)       —  フォームの作成 —

DVD データベース作成の3回目、今回はフォームの作成に入ります。
データベースの内容は、放送同録してDVD化した映画やTV連続番組などが数百枚あるので、アクセスを使ってDVDデータベースを作りDVD管理を行うものです。
前回のテーブルに続き、今回は DVD データベース操作のインターフェイスであるフォームの作成です。

3.フォームの作成
フォームはDVD データベースの操作画面や表示画面などです。
1)スタート画面の作成 —  F開始
スタート画面は DVD データを入力する登録画面(「F登録」)や DVD を検索するための条件を入力する画面(「F検索」)を開くための画面です。従ってスタート画面(「F開始」)はすべてのフォームを作り終えた後作成するのが適当かも知れません。しかしスタート画面の具体的な機能(登録画面を開くなど)を持たない(後で持たせる)ものならいつでも作れます。それにスタート画面はボタンが設置されているだけのフォームで簡単です。
また、データベースを起動するとこのスタート画面(「F開始」)が開くように、起動マクロ「Execute 」マクロを作ってみましょう。起動時に自動的にスタート画面が開くと、何となくデータベースが完成に近いような感じが持てて、以後の作業に励みが出ると思います。
①画面タイトルを作成
メニュー「作成」からリボン「フォームデザイン」をクリックしてフォーム作成画面とします。リボンを「デザイン」として「ラベル」を選び、ドラッグして表示範囲を決めます。
70-フォーム71-フォーム
このラベルを右クリックしプロパティを選び、プロパティーシートの「書式」でラベルのフォントサイズ、色、更には背景色を設定します。
72-フォームラベルには{DVD データベース」と書き込み、フォントサイズを大きくし、前景色(文字)は赤色で背景は薄い黄色にしました。73-フォーム

②操作ボタンの作成(終了) —  DVD データベースを終了させるボタン
メニューの「デザイン」リボンの「ボタン」をクリックして、「終了」ボタンを表示させる場所でドラッグしてボタンを作ります。ボタンができるとそのボタンで行う操作のウィザード画面が表示されますので、ここでは「アプリケーションの終了」、つまりデータベースを終了する操作を設定します。ボタンの表示は「終了」としました。
75-フォーム
76-フォーム77-フォーム78-フォーム80-フォーム

ここでこの開始画面を一旦保存しましょう(開始画面をすべて完成させてからでも良いのですが、、、)。フォーム画面の右上隙の「✖」をクリックし、表示された画面に沿ってフォーム名を「F開始」として保存します。
82-フォーム83-フォーム

作成された「F開始」フォームをデザインビューで開き、プロパティシートから終了ボタンの表示を分かり易く装飾してください。
84-フォーム

③DVDレコードの登録ボタン、検索表示ボタンの作成。
DVD登録画面も検索入力画面も未製作ですが、ボタンを作ります。もちろん操作マクロは作成できませんのでボタンだけを作ります。
登録ボタンを作ってみましょう。
メニューの「デザイン」①からリボン「ボタン」②を押し、登録ボタンを置く場所でドラッグ③します。コマンドボタンウィザード画面が開きますが、まだこのボタンで開く画面ができてないので「キャンセル」をクリック④。
85-フォーム
ボタンのプロパティシートからボタンの書式を整える
87-フォーム

同じ要領で「検索(表示・修正)」ボタンも作ります。
88-フォーム

④画面の背景に画像を入れる
開始画面の背景に映像を入れてみましょう。
フォームの内にもない所を右クリックして表示された画面で「フォームのプロパティ」をクリック。フォームの「プロパティシート」を表示させる①。フォームのプロパティシートのピクチャの右端の三点マークをクリック②、エクスプローラが開くので背景に設定する絵を選び(画像のあるフォルダを変えて)③、「開く」④
89-フォーム
不開始画面の背景に選んだ画像が表示される。
90-フォーム91-フォーム

⑤開始マクロ(Autoexec )を作る
開始画面をDVD データベース起動時に自動的に開くようにマクロを作ります。
メニュー「作成」①からリボンのマクロ②。マクロ作成画面が空白で開くので、右端の谷マークをクリックしメニューを表示、「フォームを開く」をクリック。
92-フォーム
フォーム名に「F開始」を選ぶ
95-フォーム
マクロの名前を「Autoexec 」として保存してください。これで起動と同時にスタート画面が開きます。
96-フォーム
97-フォーム
フォーム「F開始」を保存してください。

2)新規登録画面の作成 — F登録
DVD 登録画面でも操作ボタンはマクロを設定できないものもあります。可能なボタンのみにマクロを設定、他はとりあえずボンタンのみを作成します。
①登録画面に入力部作成
リボンの「作成」から「フォームのウィザード」をクリックすると「フォームウィザード」画面が開きます。テーブルは「TDVD-TEMP」を選択します。テンポラリーテーブルで作業を行い、若し間違えたなど不都合があった場合にテンポラリーテーブルを空にして主たるテーブル「TDVD」テーブルに間違いデータの入るのを防ぎます。
100-フォーム
選択フィールドは主キーフィールド「No」以外のすべてのフィールドとし、単表形式を選び、フォーム名を「F登録」として、続いてボタンを追加するなどフォームのデザインを編集します。「F登録」フォームを登録してください。
101-フォーム103-フォーム104-フォーム1112-フォーム

次に種類と国のフィールドをテキスト入力ボックスからコンボ ボックス形へ変更します。「種類」を選択し右クリックから削除し、「デザイン」→「コンボボックス」と選択しフォーム画面をクリック、後はウィザーに沿って進み種類フィールドをコンボボックス形とする。
1113-フォーム1114-フォーム1115-フォーム
1116-フォーム1117-フォーム種類としない1119-フォーム
1120-フォーム

同様に「国」フィールドもコンボボックス形に変更する。「F登録」フォームの保存を忘れずに!
1121-フォーム
フォームビューで見ると登録画面は下図のような形となっている。
1122-フォーム

②操作ボタンの追加(登録、破棄)
操作ボタンの「登録」ボタンは入力した全レコードを主テーブル「TDVD]へ書き込むボタンです、一方「破棄」ボタンは入力途中の全レコードを「TDVD-TEMP」テーブルから削除する機能を持つものです。このため事前に追加登録クエリ「Q登録」と削除クエリ「Q削除」を作成しておきましょう。
a. 追加登録クエリ「Q登録」の作成
リボン「作成」→「クエリウィザード」から選択クエリウィザードを選びます。
1130-フォーム
ウィザードに沿って進みますが、対象のテーブルはTDVD-TEMP で主キーフィールドを含めた全フィールド選択します。クエリ名は「Q追加登録」とします。
1133-フォーム1134-フォームクエリ編集画面となりますので、リボン「デザイン」→「追加」を進み、追加先テーブルを主テーブルである「TDVD」しして「OK」。追加クエリの形で保存してください。
1135-フォーム

b. 破棄クエリ「Q削除」の作成
リボン「作成」→「クエリウィザード」から選択クエリウィザードを選ぶのは、「Q登録」の作成と同じです。ウィザードに乗って進みテーブルは TDVD-TEMP 、主キーを含めた全フィールドを使います。クエリ名は「Q削除」としてください。
1136-フォーム
クエリ編集画面で、リボン「デザイン」→「削除」を選びます。「Q削除」クエリを保存します。

c. 書込登録、削除ボタン作成
操作ボタンの作成はスタート画面でもやりました。今度もそれぞれにマクロビルダーからマクロを割り当てます。
1139-フォーム
「削除」ボタンへの設定マクロ
1142-フォーム

追加登録ボタンの作成は省略します。このボタンに設定するマクロは以下のようになります。
1141-フォーム

3)検索入力(表示・修正用)画面の作成 — F検索
①検索入力フォーム作成 
フォーム作成ウィザードに沿ってフォームを作成する。テーブルは「TDVD」を指定し主キーNoは使わない。フォーム名は「F検索」とする。
201-フォーム202-フォーム
デザインビューで開いて、全フィールを選んで①、プロパティシートでコントロールソースをなしにする②③④。
203-フォーム
検索画面の検索入力フィールが非連結となった。
204-フォームここで「種類」と「国」はコンボボックスとして、登録画面作成時と同じようにテーブルの「種類」や「国」から検索入力できるようにします。非連結とすることを忘れずに。終わったら取り敢えず保存。
210-フォーム

②検索クエリー作成 —  「Q検索」
検索のためには検索クエリが必要となりますので、検索をクエリウィザードから作成します。使用するテーブルは「TDVD」「T種類」「T国名」三つのテーブルとも主キーフィールドを除いて全フィールドです。クエリ名は「Q検索」としました。
206-フォーム
207-フォーム

各フィールドの抽出条件を設定してゆきます。数字フィールドには「 IIf 」関数を使い、文字フィールドには「 Like 」演算子を使います。
「 IIf 」関数は条件の真偽に応じて採用する値/(式)を切替えるものです。
IIf(式, 真の場合, 偽の場合)、式が真が偽かで採用するものが変わります。
検索画面のフィールドに記入がない場合は、抽出せず、記入があれば、
その値に一致するものが抽出されます。
Like 演算子は特定の文字を含む文字列を探すのに使います。部分一致となります。
例えば文字「ABCDEF」は Like “*” & “CD” & “*” で一致と判断しますが、
「ABDCEF」は不一致ですので抽出されません。

具体的に抽出条件に入れる式は
「DVDNo」(数値データ)の場合には
IIf(IsNull([Forms]![F検索]![DVDNo]),([TDVD]![DVDNo]),([Forms]![F検索]![DVDNo]))フォーム「F検索」のフィールド「DVDNo」が空白なら、「DVDNo」では抽出せず、記入があればその値で抽出されます。
「題名」(文字データ)では
Like “*” & [Forms]![F検索]![題名] & “*”
となります。
すべてのフィールドに抽出条件に条件式を入れます。ただし「T種類」と「T国名」の「種類」と「国」には抽出条件は不要です。「TDVD」の「種類」と「国」フィールドに数値データの抽出式を入れてください。
クエリー名は「Q検索」として保存してください。
検索クエリ

「DVDNo 」の抽出式を拡げてみました
222-フォーム「監督」の抽出式を拡げてみました
223-フォーム

③ 検索フォームに操作ボタンなど作成
 (作成検索表示、検索修正、一覧表、検索終了の各ボタン)
検索表示画面など検索画面から開くフォームが作成されていませんので、各ボタンへのマクロの設定はできません。ボタンのみ作成しておきましょう。
ボタン作成は既に書いてきたようにリボンの「デザイン」から行ってください。
「検索修正」「検索表示」「一覧表」「検索終了」の4つのボタンを作りました。
225-フォーム
「検索終了」ボタンは検索画面を閉じるだけなのでマクロを設定しておきましょう。
226-フォーム

4)検索修正と検索表示画面の作成 — 「F検索修正」「F検索表示」画面
① 「F検索表示」画面
フォームの作成は既に書いてきたようにリボンの「作成」から「フォームウィザード」を選び行います。使用するテーブル/クエリは「Q検索」クエリーを使います。
227-フォーム
フォームができたら「DVDNo」などすべてのフィールドの「使用可能」を「いいえ」としてください。これでこの画面ではフィールドの修正などができなくなります。「F検索表示」で保存してください。この画面に設置するボタンは再度検索入力画面へ戻る{再検索」と検索作業をやめてスタート画面へ戻る「終了」を設置します。
検索表示

② F検索修正」画面
表示用の画面と同じに作ってください。フィールドの「使用可能」は規定値では「はい」ですので、そのまま保存すればOKです。この画面から各フィールドを修正しますと「TDVD」テーブルが直接変更されます。検索結果のレコードの内容が変更されます。画面のボタンは検索表示画面と同じものを作ってください。
検索修正

検索修正と検索表示の画面ができたので「DVD検索入力」画面(「F検索」)の「検索修正」ボタンと「検索表示」ボタンへマクロを割り当ておいてください。

5)一覧表示のレポート作成 —  R検索表示 レポート
データベースでは検索により複数のレコードが該当、抽出されるのは当たり前のことです。帳票形式の表示では順番に1レコードずつ見ていくことになり不便です。そこで一覧表形式の表示、レポートを作ります。
レポートの作成はリボンの「作成」から「フォームウィザード」を選び行います。使用するテーブル/クエリは「Q検索」クエリーを使います。後はウィザードに沿って進みます。
232-フォーム
グループ化はせずに、帳票形式の表示として印刷の向きは横向きにし、レポート名は「R検索表示」しました。
234-フォーム
一覧表形式のレポートができました。
236-フォーム
「備考」欄にあらすじなど書けるように文字数を多くしているので2段になっているが、普通は1段に1レコードの形とする。
238-フォームテストレコートを作って具体的に表示してみました。
5-仕上げ

レポートもできたので、検索入力画面の「一覧表」ボタンにマクロを設定してください。あ、忘れてました。このレポート画面にもボタンを配置して、検索画面へ戻れるようにマクロを付けました。

これで一応はDVD データベースとして機能すると思います。
画面を見易くしたり、連続登録ができるようにするなどの微調整を、
次回
家の「映画、TV番組」DVDデータベース作製(4)
で行いたいと思います。

 

Facebook
検索修正

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

コメントを残す

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

WordPress.com ロゴ

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

Google フォト

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

Twitter 画像

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

Facebook の写真

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

%s と連携中

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください