• ベストアンサー

accessでコンボボックスとサブフォームでデータ表示したい。

accessのフォームでデータ検索表示したいのですが? データ表示の検索フォームを作成しようとしています。 まず検索したいテーブルの検索KEYにしたいフィールドを クエリを使い集計し、その結果をコンボボックスで表示して コンボボックスで指定すると、同一フォーム内にサブフォーム もしくはリストボックスで検索結果を表示したいのですが パラメータのわたしかた等が、よくわかりません。 方法を教えていただけないでしょうか? 参考になるサンプル等があれば助かります。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • DexMachina
  • ベストアンサー率73% (1287/1744)
回答No.1

> パラメータのわたしかた等が、よくわかりません。 > 方法を教えていただけないでしょうか? クエリの検索条件欄に、フォームのコントロールを参照する式を設定すれば Okです。 (このクエリを、フォームのレコードソースに指定します:  ご質問に添付されたフォーム構成の場合は、サブフォームのレコードソース) 例えば、「フォーム2」フォームの「検索KEY」コンボボックスで指定された 文字列で検索する場合は、   Forms!フォーム2!検索KEY という式になります。 なお、コンボボックスでの指定と同時にフォームに反映するには、コンボボックス の更新後イベントに、マクロなら「再クエリ」アクションを、VBAならRequeryを、 当該フォーム(またはサブフォーム)に対して行う必要があります。 【VBA】 Private Sub 検索KEY_AfterUpdate()   (サブフォーム名).Requery End Sub 【マクロ】 アクション: 再クエリ <引数>  コントロール名: (サブフォーム名) ※いずれの場合も、「(サブフォーム名)」には、実際のサブフォームの名前を   指定。(「( )」は不要) ※サブフォームではなくフォーム自身の場合は、VBAなら「Me.Requery」に、   マクロならコントロール名は空白に、それぞれ変更。

happy_papa
質問者

お礼

ありがとうございます。 ご説明の通りに設定したところ 作成したいフォームがバッチリ出来ました。 わかりやすく説明いただき ありがとうございました。

その他の回答 (1)

  • 30246kiku
  • ベストアンサー率73% (370/504)
回答No.2

以下を試しにやってみてください。 上のコンボボックスの連結列が分類そのものだと仮定します。 また、表示したいのが提示された図の様にサブフォームであると仮定します。 メインのフォームをデザインビューで開き、 サブフォームコントロールをクリックし、プロパティを表示させます。 プロパティの中に、リンク親フィールド/リンク子フィールド 欄があると思います。 直接手入力で、 リンク親フィールドに、コンボボックス名 リンク子フィールドに、分類 を指定します。 サブフォームのレコードソースには、分類で絞り込んでいないものを指定しておきます。 コンボボックスで選択するとサブフォームの表示が切り替わります。 切り替わる速度が遅いようなら、コンボボックスのクリック時にでも、 Private Sub コンボボックス_Click()   Me.サブフォームコントロール名.Form.Recalc End Sub でも記述してみてください。 ※ コンボボックス名、サブフォームコントロール名のところは、実情に合わせて変更してください。 ※ サブフォームコントロール名は、リンク親/子フィールドを設定した時に表示されている名前になります。

happy_papa
質問者

お礼

ありがとうございます。 早速、試したところバッチリ出来ました。 わかりやすく説明いただき ありがとうございました。

関連するQ&A