2017-08-11 13 views
0

Kユーザーにアクセスします。私は、クエリーがメインフォームであるモジュールを持っていて、フィールドの値に基づいてフィルターを設定し、クエリーはそのフィルターでサブフォームを作成します。問題は、私がsubform.FilterOn = Trueを設定すると、何もしないでFalseを返すことです。私はむしろ全体のソリューションをアップロードしないでください。しかし、コードのscreenshotのスクリーンショットを強調表示し、不一致を示している。以下は、コピー/ペーストの目的のためのコードです。なぜこれは機能しないのですか?。FilterOnメソッドが動作しません。

Private Sub Combo7_AfterUpdate() 
Dim strSQL As String 
Application.Echo False 
strSQL = "[APN] = " & Str(Nz(Me![Combo7], 0)) 
DoCmd.ApplyFilter wherecondition:=strSQL 
Me![Combo22].Requery 
Me![Combo22] = Me![Text24] 

Dim val As String 
Dim subform1 As Form 
Dim subform2 As Form 
Dim subform3 As Form 
val = Me![Text24] 

Set subform1 = Me.qPayment_subform.Form 
Set subform2 = Me.qRefundWriteOff_subform.Form 
Set subform3 = Me.qRetnCHK_subform.Form 
subform1.FilterOnLoad = True 
subform2.FilterOnLoad = True 
subform3.FilterOnLoad = True 
subform1.FilterOn = True 
subform2.FilterOn = True 
subform3.FilterOn = True 
subform1.Filter = "PeriodID = " & val 
subform2.Filter = "PeriodID = " & val 
subform3.Filter = "PeriodID = " & val 
subform1.Requery 
subform2.Requery 
subform3.Requery 

Application.Echo True 
End Sub 
+0

サブフォームコンテナコントロールのマスター/チャイルドリンクプロパティを持つメインフォームレコードにサブフォームがリンクされていないのはなぜですか? – June7

+1

**最初に** .Filter'と** ** ** '.FilterOn'を試してください。 – Andre

答えて

0

サブフォームコンテナに、保持しているオブジェクトとは異なる名前を付けます。たとえば、フォームの名前がfrmOrderDetailsの場合、コンテナのctrDetailsに名前を付けます。次に、オブジェクト変数を設定する際にコンテナ名を使用することができます。そうでない場合は、変数を削除してコンテナ名を参照することを検討してください。

私は、これは.FORMを繰り返すことを意味知っているが、それは高速で編集されます。

いずれの場合も、FilterOnの前にFilterプロパティを設定します。
また、FilterOnLoadとRequeryは必要ありません。

関連する問題