• 締切済み

Access VBA フィルター

Microsoft Access のVBAで、メインフォームで条件を設定するとサブフォームがフィルターされて開くというVBAを作っています。 SQL文を「SQLCode」という文字列型変数に入れました。 具体的には以下の内容がSQLCodeに入っています。 [担当者]=[Forms]![検索]![担当者] この変数をフォームにフィルターをかけて開くコードに入れたいのですが、以下の?の部分を教えてください。 Me!Fサブフォーム.Form.Filter. = ? Me!Fサブフォーム.Form.FilterOn = True

みんなの回答

  • kkkkkm
  • ベストアンサー率66% (1745/2621)
回答No.3

変数に入れたいのでしたら SQLCode = "担当者=" & [Forms]![検索]![担当者]] Me!Fサブフォーム.Form.Filter = SQLCode Me!Fサブフォーム.Form.FilterOn = True 質問ではFilter. になっていますが最後のドットはなしで

すると、全ての回答が全文表示されます。
  • chayamati
  • ベストアンサー率41% (260/625)
回答No.2

検索フォームに以下をコーディングします ------------------------------------------------------------------- Private Sub 担当者_Exit(Cancel As Integer) DoCmd.OpenForm "サブフォーム名", , ,"[担当者]=[Forms]![検索]![担当者]" End Sub -------------------------------------------- イベントはクリックイベント、チェンジイベント等考えられますが、 値が確定してからのエキジットイベントが最適かと 蛇足ですが、メインフォーム、サブフォームは 納品書のヘッダー情報(納入日、顧客名…)をメインフォームと呼び    明細情報(品名、規格、数量…)をサブフォームと呼びます 貴方の呼ばれるメインフォームを自分は メニューまたは目次としています

すると、全ての回答が全文表示されます。
  • kkkkkm
  • ベストアンサー率66% (1745/2621)
回答No.1

Me!Fサブフォーム.Form.Filter = "担当者=" & [Forms]![検索]![担当者]] Me!Fサブフォーム.Form.FilterOn = True で試してみてください。 検索フォーム内のサブフォームでしたら、サブフォームのデータタブでリンク親フィールドとリンク子フィールドを設定しておけばVBAでフィルターを指定する必要が無いと思います。

すると、全ての回答が全文表示されます。

関連するQ&A