CDアルバム管理ソフトを作ってみよう! |
●検索フォームの作成● |
|
今回からは入力済みのデータの検索・抽出を行うフォームを作成していきます。 |
「コンボボックス」を使ったフォームを作成しようと思います。 |
|
[ 仕組みの説明 ] |
・「コンボ」(左)に「tbl_main」をデータソースとして「アーティスト名」を表示させ |
・更新後処理で「コンボ」(右)にその値を引き渡し、 |
・「tbl_main」をデータソースとして「タイトル名」を表示させます。 |
・次にフォームの基になっているクエリーに |
・「コンボ」(左)で選択した「タイトル名」を抽出条件として |
・帳票フォームに該当のデータ表示を行います。 |
|
ややこしいのでがんばりましょう! |
|
ではフォームを作成します。フォーム名は、「frm_kensaku2」としましょう。 |
フォームウィザードで「オートフォーム:表形式」を選択し、基になるテーブルに「tbl_sub」を指定します。 |
そして修正を加えてください。 |
修正個所は以下の通りです。
|
- 全てのテキストボックスプロパティの「使用可能」を「いいえ」、「編集ロック」を「はい」にする。
- 全てのテキストボックスの横幅を調整する。
- 全てのテキストボックスの立体表示、背景スタイル、文字配列を適宜調整する。
- フォーム全体のフォントサイズを10にする。
- フォーム全体の「スクロールバー」を「なし」に、「レコードセレクタ」と「移動ボタン」を「いいえ」、「ポップアップ」と「作業ウィンドウ固定」を「はい」、にする。その他は適宜調整。
- フォームヘッダーに「コンボボックス」を二個作成する。
- 二個のコンボボックスのプロパティで「入力チェック」を「はい」にする。
|
又、フォームフッターが見えない状態で修正フォームを保存すると、次回のフォーム表示には三つくらいしかデータが表示されなくなります。 |
よって保存するデザインビューはフォームフッターの高さを"0"にし、必要なスペースを確保した状態で保存してください。 |
帳票形式のフォームでは結構大事なことです。 |
|
では「コンボ」を組み立てます。 |
プロパティのデータ欄の「値集合ソース」で「tbl_main」を選択し、ビルダーを起動させ下記のように設定します。 |
|
「集計」が表示されていない場合は「表示」ツールから選んでください。 |
「集計」の"カウント"は「アーティスト名」の多い順に一覧を表示させる工夫です。 |
|
コンボボックスのプロパティで特に重要なのは「連結列」です。 |
この項目はコンボボックスに複数列が表示されている場合に「何列目の値をかえすのか」を決める列を入力する所です。 |
今回は「アーティスト名」の一列だけなので既定値の"1"でいいです。 |
"1"とは左から一列目という意味です。 |
|
ちなみにここで作成しているコンボの名前は左が「コンボ16」で、右が「コンボ18」です。 |
|
「コンボ18」の値集合ソースも「tbl_main」を基にしたクエリーを作成しますが、「コンボ16」の選択項目を抽出条件としていますので、下記のようになります。 |
抽出だけに使用する項目は「表示」欄のチェックをはずします。不要なものは表示しません。 |
|
|
|
フォームのデータソースには、クエリービルダを起動させクエリーを作成します。 |
「コンボ18」で選択したアーティスト名を抽出条件として、フォームの詳細部分にデータを表示しますので、クエリー画面に「tbl_main」と「tbl_sub」を表示させ、「タイトル名」の「抽出条件」として下記のように記述します。 |
|
|
「tbl_sub」のフィールドは全て表示します。
|
|
これで外枠が完成しました。しかし、これだけでは正しく動きませんので、マクロでイベントを実行します。 |
下記は、この「frm_kensaku2」のフォームで使用するマクロの一覧です。マクロ名は、「mc_kensaku2」です。 |
|
 |
|
・「コンボ1」マクロは、「コンボ16」の「更新後処理」にセットします。 |
・「コンボ2」マクロは、「コンボ16」の「フォーカス取得時」にセットします。 |
・「コンボ3」マクロは、「コンボ18」の「更新後処理」にセットします。 |
|
これでフォームが動くはずです。 |
なお、このフォームは検索と閲覧フォームですのでデータを保存しません。 |
|
後は各自でいろいろとアレンジしてみてください。 |
次はレポートの作成です。 |
 |
|
|
|
|