- ベストアンサー
accessでコンボボックスとサブフォームでデータ表示したい。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
> パラメータのわたしかた等が、よくわかりません。 > 方法を教えていただけないでしょうか? クエリの検索条件欄に、フォームのコントロールを参照する式を設定すれば Okです。 (このクエリを、フォームのレコードソースに指定します: ご質問に添付されたフォーム構成の場合は、サブフォームのレコードソース) 例えば、「フォーム2」フォームの「検索KEY」コンボボックスで指定された 文字列で検索する場合は、 Forms!フォーム2!検索KEY という式になります。 なお、コンボボックスでの指定と同時にフォームに反映するには、コンボボックス の更新後イベントに、マクロなら「再クエリ」アクションを、VBAならRequeryを、 当該フォーム(またはサブフォーム)に対して行う必要があります。 【VBA】 Private Sub 検索KEY_AfterUpdate() (サブフォーム名).Requery End Sub 【マクロ】 アクション: 再クエリ <引数> コントロール名: (サブフォーム名) ※いずれの場合も、「(サブフォーム名)」には、実際のサブフォームの名前を 指定。(「( )」は不要) ※サブフォームではなくフォーム自身の場合は、VBAなら「Me.Requery」に、 マクロならコントロール名は空白に、それぞれ変更。
その他の回答 (1)
- 30246kiku
- ベストアンサー率73% (370/504)
以下を試しにやってみてください。 上のコンボボックスの連結列が分類そのものだと仮定します。 また、表示したいのが提示された図の様にサブフォームであると仮定します。 メインのフォームをデザインビューで開き、 サブフォームコントロールをクリックし、プロパティを表示させます。 プロパティの中に、リンク親フィールド/リンク子フィールド 欄があると思います。 直接手入力で、 リンク親フィールドに、コンボボックス名 リンク子フィールドに、分類 を指定します。 サブフォームのレコードソースには、分類で絞り込んでいないものを指定しておきます。 コンボボックスで選択するとサブフォームの表示が切り替わります。 切り替わる速度が遅いようなら、コンボボックスのクリック時にでも、 Private Sub コンボボックス_Click() Me.サブフォームコントロール名.Form.Recalc End Sub でも記述してみてください。 ※ コンボボックス名、サブフォームコントロール名のところは、実情に合わせて変更してください。 ※ サブフォームコントロール名は、リンク親/子フィールドを設定した時に表示されている名前になります。
お礼
ありがとうございます。 早速、試したところバッチリ出来ました。 わかりやすく説明いただき ありがとうございました。
お礼
ありがとうございます。 ご説明の通りに設定したところ 作成したいフォームがバッチリ出来ました。 わかりやすく説明いただき ありがとうございました。