レコード検索にリストフォームを利用する

概要

住所録データベースなどでは、個人の詳細情報をメインフォームに表示して利用することでしょう。この際、 多くのデータから特定の個人を簡単に探したいものです。この方法として、登録者のリストを表示させて、 対象者を見つけてクリックすることで、メインフォーム上に表示できれば便利です。ここでは、この手法を紹介します。
(イメージ図)

準備

1.テーブルの準備

「T_名簿」というテーブルを使って作ってみます。(テーブルの仕様は次の図に示します)

(テーブルの仕様)

「番号」フィールドが主キーです。

2.メインフォームの準備

個人(レコード)の詳細情報を表示するフォームとなります。 「フォーム」オブジェクトの「新規作成」コマンドで 「名簿」テーブルを基にして「オートフォーム:単票形式」で作成しました。


    (主な仕様)
  • フォーム形式:単票形式
  • フォームの名前:[F_個人台帳]と名づけました。
  • 表示フィールド:殆どのフィールドを選択すると良いでしょう。主キーになっているフィールドは必ず加えます。ここでは[番号]フィールド。
3.リストフォームの準備

登録レコードの一覧を表示するフォームです。個人の指定を誤らない程度のフィールドを選択すればよいでしょう。 「フォーム」オブジェクトの「新規作成」コマンドで「名簿」テーブルを基にして「フォームウイザード」で表形式フォームを作成しました。

    (主な仕様)
  • 形式:表形式
  • 名前:[F_登録者リスト]と名づけました。
  • 表示フィールド:主キーの「番号」と「氏名」「フリガナ」「住所」を選択しました。

検索機能の作成手順

1.検索ボタンの設置

メインフォーム上に検索ボタンを設置します。役割はフォーム「F_登録者リスト」を表示させることです。

    (ボタンの仕様)
  • 名前:「Cmd_検索」と名づけました。
  • 表題:「検索」としました。
  • その他:ボタンの位置・大きさ等は自由に設定してください。
2.検索ボタンでリストフォームを開く

リストフォーム「F_登録者リスト」を表示させるために、検索ボタンにクリック時イベントプロシージャを記述します。

(プロシージャの内容)

3.リストフォームからメインフォームを開く

リストフォームで選択されているレコードのメインフォームを開きます。この命令はコマンドボタンを 設置してクリック時のプロシージャに記述する方法もありますが、ここでは「番号」フィールドをダブルクリック時に記述してみました。

(プロシージャの内容)

    (説明)
  • 選択レコードの番号を入れる変数を「code」と命名しています。型は数値型です。
  • リストで選択されている番号を変数に入れています。
  • 「Docmd」オブジェクトのフォームを開くコマンドを使っています。条件式に選択レコードを指定しています。

使い方

  1. まずメインフォーム「F_個人台帳」を開きます。検索ボタンでリストフォーム「F_登録者リスト」を開きます。
  2. リストフォームから目的の人を見つけ、「番号」フィールドをダブルクリックします。
  3. メインフォームの当該者のデータが表示されます。

留意点

この方法ではメインフォームのレコードを抽出で表示しています。従って、レコードの移動ボタンなどは利用できません。

(この項終わり)