- 締切済み
コンボボックスでのサブフォーム抽出について
コンボボックスでのサブフォーム抽出について教えて下さい。 T_支払というテーブルにてSUBフォームを作り、メインフォームに貼り付けてます。 コンボボックスにて月度を選択すると、その月の一覧がSUBフォームに表示する様にしたい のですが、今一わかりません。 途中までフォームの形はできたのですが、そこから止まってしまっています。 この先何をすればよいのか教えていただけないでしょうか? ほぼ初心者なものでよろしくお願いします
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- okgoo3
- ベストアンサー率74% (20/27)
[T_支払] というテーブルをレコードソースにしたフォーム [F_支払] がある。 レコードソースが空白で非連結状態になっているフォーム [F_MAIN] がある。 [F_MAIN] にサブフォーム コントロール [SF1] を貼り付ける。 サブフォーム コントロール [SF1] のソース オブジェクトに [F_支払] を設定している。 [F_MAIN] にコンボボックス [Comb1] がある。 つまり [F_MAIN] 上にある [Comb1] で値を選択すると、[F_MAIN] の内容と親子関係にないサブフォーム内のレコードのフィルター処理をしたい、と。 親フォームとサブフォームがプロパティ レベルでリンクしていない状態で親フォーム上のコンボボックスでの変化をサブフォームに伝える場合は、そういう処理を VBA にさせないといけない。 サブフォームとして呼び出されているフォーム [F_支払]側のフィルター プロパティは [月度]=Forms![F_MAIN]![Comb1] としておく。 次に Comb1 の値が変化した際に [F_支払] のレコードを再読み込みする処理が必要なので VBA に頼る。 [F_MAIN] にある Comb1 コントロールの AfterUpdate イベントを使用する。 Private Sub Comb1_AfterUpdate() Me.SF1.Requery End Sub [F_MAIN] 上のコンボボックス [Comb1] の値が変化すると Comb1_AfterUpdate イベントが発生し、[F_MAIN] 上のサブフォーム コントロール [SF1] を再読み込みさせる。 [SF1] によって再読み込みされた [F_支払] は、フィルター プロパティの内容にしたがって [F_MAIN] 上の [Cmb1] の値を使ってフィルターリングする。 文章で書くと面倒くさい。
- nebikitorikai
- ベストアンサー率100% (1/1)
すみません書き間違えました。UserFormではないのですね?
- nebikitorikai
- ベストアンサー率100% (1/1)
subForm1の中のコンボボックスとテキストボックス若しくはラベルを使用してではなく、SubFormそのものに表示ですか?
補足
サブフォームそのものに表示させたいです