CDアルバム管理ソフトを作ってみよう!
●フォームの作成●
 
フォームの主な役割は「データ入力」「データ参照・抽出」「各種の指示の実行」ですが、ここでは入力の機能を使っての作業をしていきたいと思います。
 
データの入力は基本的に「テーブル」や「クエリー」では行いません。誤って他のデータを消してしまう恐れがあるからです。
フォームの入力形式には、大別して「単票形式フォーム」と「帳票形式フォーム」の二種類がありますが、今回はその両方を使います。
メインが単票形式で、サブが帳票形式です。
 
入力フォームの作り方は「新規フォームウィザード」に任せてもいいでしょう。
 
基になるテーブル/クエリーの選択は、「tbl_main」を選びます。
 
 
テーブル/クエリのところから「テーブル:tbl_main」から全項目、「テーブル:tbl_sub」から全項目を選択して下さい。
その後、「次へ」をクリックしてください。
 
 
「tbl_sub」が自動的に「サブフォーム」として認識されています。これはリレーションの効果です。
(ちなみに左側の四角の中の「tbl_sub」をクリックすると、右側のサンプルフォームが単票フォームに変わります。)
 
「次へ」をクリックして「表形式」を選んでください。
フォームのスタイルは好きなものにしましょう。名前は、メインフォームが「frm_main」、サブフォームは「frm_sub」とします。
そして完了ボタンを押すと、下記のようなフォームが自動的に作成されると思います。
 
 
あとはデザインビューやプロパティで好きなよう、見やすいようにファームを修正していきましょう。
この「フォームの修正」というのには結構力を入れてください。
ソフトの善し悪しはここにかかっているのです。
ではまず、メインフォームの直しから・・・。
 
メインフォームを「デザインビュー」で開きます。「ID」欄を見てください。このテキストボックスはオートナンバーなので数値を入力することはありません。なので、ここではデータを追記できないようにカーソルを飛ばすようにします。
「ID」テキストボックスを右クリックしてプロパティを表示させてください。
 
 
「データ」タブの「使用可能」を「いいえ」、「編集ロック」を「はい」にします。
また、見栄えをよくするためにくぼみを無くしましょう。「書式」タブの「立体表示」を「なし」、「背景スタイル」を「透明」、「フォントサイズ」を「11」、「文字配置」を「中央」、「境界線スタイル」を「透明」にします。
 
では、「入力日」欄に移ります。
 
「既定値」を当日の日付にしたいので、「データ」タブの「既定値」に「date()」と入力しましょう。
この関数は当日の日付を返します。ちなみに「date()-1」は昨日、「date()+1」は明日の日付を返します。
([...]ボタンをクリックすると、式ビルダが起動しますので、[関数]−[組み込み関数]とたどってDate関数を入力できます。)
 
「データ」の「定型入力」を設定します。 9999"\年"99\月99\;0 と入力します。(「年月」以外は半角です。)
 
では「アーティスト名」欄に移ります。ここには「コンボボックス」を使います。
「テキストボックス」を「コンボボックス」へ変更する場合は、テキストボックスを右クリックして「コントロールの種類の変更」の「コンボボックス」を選択してください。
 
これは一覧表から該当項目を選択でき、また入力可能なボックスです。
「値集合タイプ」が「テーブル/クエリー」であることを確認して下さい。

「値集合ソース」に「tbl_main」を指定します。

次に「値集合ソース」の右に表示されている[…]をクリックします。

"このテーブルを基にクエリーを作成しますか"ときかれたら「はい」をクリックしてください。
 
では今度はクエリーの設定にうつります。
「アーティスト名」は通常1フィールドでいいのですが今回は2フィールドドラッグしてください。
「フィールド」欄にマウスカーソルを移動させ右クリックで「集計」をクリックして下さい。
このクエリーを「集計クエリー」にすることで重複しているアーティスト名を除外できます。

次に右フィールドの「アーティスト名」の「集計」を「カウント」に変更してください。
この「カウント」は、count関数です。
「アーティスト名」の個数を集計します。
「並べ替え」に「降順」、「表示」を「チェックオフ」にしてください。

これで入力回数の多い順にコンボボックスのフィールドを表示することができます。
データ入力フォームは、コンボボックスを如何に活用するかによって仕上がりに差ができます。
SQLステートメントの変更・プロパティの設定を更新します。
 
では「全曲数」欄に移ります。
このテキストボックスに数値を入力すると、"○○曲"と表示させるようにします。
プロパティの「書式」に0"曲"(0\曲)と入力してください。
 
では「全演奏時間」欄に移ります。

書式とデータ入力を"時間"単位に設定する必要があります。

定型入力欄に 99\分99\秒;0_、書式にnn"分"ss"秒"(nn\分ss\秒)を記述してください。

(「分秒」以外は半角です。)

 

では「入手区分」欄に移ります。

ここへ入力するのは"購入"、"レンタル"、"借用"のいづれかにしようと思います。
他の語句が入力できないように「コンボボックス」にしようと思います。(方法は上記

プロパティを表示して「データ」タブの「値集合タイプ」を「値リスト」に変更し、「値集合ソース」に"購入";"レンタル";"借用" と入力して下さい。
「入力チェック」を「はい」に設定します。

これで登録した語句以外の入力ができなくなります。
「既定値」には入手区分で一番多いパターンを入力します。
「書式」タブでは「リスト行数」を語句の個数である「3」と入力してください。
 
次に「種別」欄に移ります。
この項目への入力は"アルバム"、"シングル"のいづれかであると定義します。
ということで「入手区分」と一緒で「コンボボックス」に変更し、上記を参考に修正します。
 
「備考」欄に移ります。
ここはコメントを入力するだけなので大幅な修正はありませんが左のように多少修正をくわえてみました。

Enterキーを改行として使用する場合は「Enterキー入力時動作」に「フィールドに行を追加」を選択してください。
「禁則処理」を「いいえ」にします。
それ以外は「既定」にしてください。
ただし、「改行」にするとサブフォームへカーソルが自動的に戻りません。
 
ここまででメインフォームの修正がおわりました。
このほかにも各自修正を加えたい個所はいろいろと試してみましょう。
 
  1. 「文字配置」を"左"、"中央"、"右"とテキストボックス毎に適宜配置するとすっきりします。
  2. タブの移動順位は自由に変えられます。テキストボックスなどのプロパティの「タブ移動順」で操作します。
  3. フォントサイズやフォント太さもプロパティで自由に変更できます。
又、フォーム全体のサイズや背景色も変更できますので、やってみましょう。
これはあまり変更していない例ですが、こんな感じになりました。
 
では、次はサブフォームにも修正を加えていきましょう。
 

 

 
 
(C)1999-2003 BE CORPORATION All rights reserved.Terms of Use. Privacy Policy.