ms access 2010 データベースに、CustomerID、FullName、Address、City、StateProvince、PostalCode などを含む顧客テーブルがあります。
2 つのサブフォームを含むメイン フォームを設定したいと考えています。ListSubForm には、ユーザーがテキスト ボックスに入力してフィルター処理できる FullNames のリストだけがあります。次に、DetailSubForm は、ListSubForm のフィルター処理されたリストからユーザーが選択した特定の顧客の Address、City、StateProvince、PostalCode などを出力します。
Web で見つけることができるすべての例は、マスターと詳細が 1 対多の関係を持つ 2 つの異なるテーブルであるマスター/詳細サブフォーム用です。それは私が望むものではありません。同じテーブルに基づいてマスター/詳細サブフォームを設定するための手順を教えてもらえますか? 1 つのサブフォームで、最初のサブフォームから選択された特定のレコードに関する詳細を提供するだけですか?
または、実際の例へのリンクがない場合は、少なくとも設定方法を教えてください。私は VBA に慣れていないので、VBA に深く入り込むのは避けたいと思います。簡単なマクロを使用して設定できるものが望ましいです。
デザイン ビューの MainForm の 2 つのサブフォームを次に示します。
フォーム ビューの MainForm の 2 つのサブフォームを次に示します。
ClientListForm のプロパティ シートで [On Current Event] の横にある [...] ボタンをクリックした結果は次のとおりです。
ここからどこへ行けばいいですか?
編集:
Yawar の提案に従って分割フォームを作成しました。ユーザーは顧客を選択でき、その顧客のデータが左側に詳細に表示されますが、次のようになります。
データシートは醜く、データシートはフィルター処理できないため、ユーザーは何千ものレコードをタブで移動する必要があります。左のデータシートではないように見せる方法はありますか? そもそもデータシートにしないことでしょうか?上記の元の例のテキスト ボックス フィルターを使用した連続フォームは問題なく表示されました。また、ユーザーが顧客の名前を入力して、顧客のリストを目的の名前の顧客だけに縮小できるように、左側の顧客のリストをフィルター可能にする方法はありますか?
2番目の編集:
Yawar の編集後、コンボボックスの指示に再び従ったところ、エラー メッセージが再び表示されました。また、このアプローチには問題があります。これは、一度にすべてのオプションを表示しないドロップダウン リストであり、上記の元の投稿で示したようにコンボ ボックスがフィルター処理されないためです。ただし、以下のように結果を掲載しています。表示されるエラー メッセージは次のとおりです。右側の詳細情報が左側の選択したクライアントと一致しないことに注意してください。
前の画像で [デバッグ] ボタンをクリックすると表示されるコード行は次のとおりです。
参考までに、フィールド名が正しいことを示すために、基になるテーブルのデータシートの一部の画像を次に示します。
3番目の編集:
Yawar の新しい提案に合わせてコードを変更したところ、コンボボックスの選択を変更しようとすると、次のエラー メッセージが表示されました。
デバッグボタンをクリックすると、次のようになりました。