MS Access Tips/Sample and VBA and Blog customize etc...

名簿管理フォームの設計

顧客名簿や住所録などの閲覧、編集用のフォームを設計するとき、帳票フォームにするか単票フォームするか悩みます。帳票フォームだと一覧性が高いので、複数のレコードから目的のレコードを探すのに便利です。しかし目的のレコードの詳細確認や入力は単票フォームの方が便利でしょう。それの一つの解決策が、2007以降に導入された分割フォームですね。

今回紹介するのは目的のレコードをリストから素早く探せて、単票フォームで閲覧、編集できるフォームの設計例です。

名簿管理リストと単票

難易度:

概要

図をみてもらえば分かると思いますが、以前紹介した50音選択ボタンでリストボックスの名前を絞り込みます。

リストボックスから名前を選択するとそれに対応するデータが右の詳細サブフォームに表示されます。

私が名簿管理フォームを設計するときはこれを基本にして、さらに検索ボタンや新規追加ボタンなどを追加したものにしてます。

名簿管理フォーム

設計

テーブル 得意先
フィールド 得意先コード(主キー)、フリガナ、得意先名・・・・

上記テーブルから単票フォームをウィザード等で作成。名前は「F_得意先_詳細」

空白フォームを作成して、そこに、
オプショングループで50音選択 高速版
50音選択 の オプジョングループ 2つをコピーして貼り付ける。

その下にリストボックス「lst得意先」を配置しする。

lst得意先 の設定
プロパティ設定値
値集合ソースSELECT 得意先コード, 得意先名 FROM 得意先 ORDER BY フリガナ;
連結列1
列数2
列幅0cm

この右に F_得意先_詳細 をドロップしてサブフォームとして配置する。リンクフィールドを下記のように設定する。

F_得意先_詳細 サブフォームコントロール
プロパティ設定値
リンク親フィールドlst得意先
リンク子フィールド得意先コード

標準モジュール 50音抽出関数

オプショングループで50音選択 高速版 - hatena chips

の標準モジュールのコードに、リストボックスの抽出用の関数 fnc50音選択_lst、fnc段選択_lst を追加しただけです。

F_得意先 のフォームモジュール

フォームのオプションボタンの更新後処理に、抽出関数を割り当てます。
リストボックスの値集合ソース用の SELECT文、また、並べ替え用のフィールドを定数として宣言部で宣言しておきます。

サンプルファイルが下記からダウンロードできます。
FrmListAndDetail_07.zip (Access 2007-2010 形式 - 42kb)
FrmListAndDetail.zip (Access 2002-2003 形式 - 40kb)
FrmListAndDetail_2k.zip (Access 2000 形式 - 40kb)


拍手する

Leave a reply






Trackbacks

trackback URL
http://hatenachips.blog34.fc2.com/tb.php/415-bb3ad60c
該当の記事は見つかりませんでした。