レコード検索にリストフォームを利用する
概要
住所録データベースなどでは、個人の詳細情報をメインフォームに表示して利用することでしょう。この際、
多くのデータから特定の個人を簡単に探したいものです。この方法として、登録者のリストを表示させて、
対象者を見つけてクリックすることで、メインフォーム上に表示できれば便利です。ここでは、この手法を紹介します。
(イメージ図)
準備
1.テーブルの準備
「T_名簿」というテーブルを使って作ってみます。(テーブルの仕様は次の図に示します)
(テーブルの仕様)
「番号」フィールドが主キーです。
2.メインフォームの準備
個人(レコード)の詳細情報を表示するフォームとなります。 「フォーム」オブジェクトの「新規作成」コマンドで 「名簿」テーブルを基にして「オートフォーム:単票形式」で作成しました。
- (主な仕様)
- フォーム形式:単票形式
- フォームの名前:[F_個人台帳]と名づけました。
- 表示フィールド:殆どのフィールドを選択すると良いでしょう。主キーになっているフィールドは必ず加えます。ここでは[番号]フィールド。
3.リストフォームの準備
登録レコードの一覧を表示するフォームです。個人の指定を誤らない程度のフィールドを選択すればよいでしょう。 「フォーム」オブジェクトの「新規作成」コマンドで「名簿」テーブルを基にして「フォームウイザード」で表形式フォームを作成しました。
- (主な仕様)
- 形式:表形式
- 名前:[F_登録者リスト]と名づけました。
- 表示フィールド:主キーの「番号」と「氏名」「フリガナ」「住所」を選択しました。
検索機能の作成手順
1.検索ボタンの設置
メインフォーム上に検索ボタンを設置します。役割はフォーム「F_登録者リスト」を表示させることです。
- (ボタンの仕様)
- 名前:「Cmd_検索」と名づけました。
- 表題:「検索」としました。
- その他:ボタンの位置・大きさ等は自由に設定してください。
2.検索ボタンでリストフォームを開く
リストフォーム「F_登録者リスト」を表示させるために、検索ボタンにクリック時イベントプロシージャを記述します。
(プロシージャの内容)
3.リストフォームからメインフォームを開く
リストフォームで選択されているレコードのメインフォームを開きます。この命令はコマンドボタンを 設置してクリック時のプロシージャに記述する方法もありますが、ここでは「番号」フィールドをダブルクリック時に記述してみました。
(プロシージャの内容)
- (説明)
- 選択レコードの番号を入れる変数を「code」と命名しています。型は数値型です。
- リストで選択されている番号を変数に入れています。
- 「Docmd」オブジェクトのフォームを開くコマンドを使っています。条件式に選択レコードを指定しています。
使い方
- まずメインフォーム「F_個人台帳」を開きます。検索ボタンでリストフォーム「F_登録者リスト」を開きます。
- リストフォームから目的の人を見つけ、「番号」フィールドをダブルクリックします。
- メインフォームの当該者のデータが表示されます。
留意点
この方法ではメインフォームのレコードを抽出で表示しています。従って、レコードの移動ボタンなどは利用できません。
(この項終わり)