2017-02-13 7 views
0

子フォーム(孫)内に子フォームを含むMS Access 2013フォームをデータシートビューで表示しています。MS Access:サブサブフォームのすべてのインスタンスに対してコードを実行

ここでは、メインフォーム上に子フォームと孫フォームの両方のレコードをフィルタリングできるコントロールがいくつかあります。 フォームをフィルタリング

Dim strSQL As String 
strSQL = ... 
Me!child.Form.RecordSource = strSQL 
Me!child.Requery 

と完全に正常に動作します。しかし、私は

Dim strSQL As String 
strSQL = ... 
Me!child.Form!grandchild.Form.RecordSource = strSQL 
Me!child.Form!grandchild.Requery 

ためのフィルタを設定したい場合、私はthis question Iでエラー2455.を取得しますサブフォームの行の1つ以上を展開してエラーを解決しました。

しかし、現在のコードは最初の行のの最初の行でのみ機能していますが、どの孫の行にもRecordSourceを設定したいと考えています。

メインフォームのすべてのサブサブフォームレコードのRecordSourceを変更するにはどうすればできますか?

編集: グスタフは私を助けたコードなしのソリューションを提供しました。それにもかかわらず、私は、孫のフォームプロパティをすべてのインスタンスのマスターフォームから一般的にどのように変更するのだろうかと思います。

答えて

1

レコードソースを調整する必要はありません。

制御マスター/チャイルドリンクフィールドを孫サブフォームのを調整し、フィルタリングが自動であろう。

+0

私はあなたがうまくいけば、サブフォームをメインフォームの特定のフィールド/ IDに接続します。私はそれを望んでいない、私はRecordSourceのWHERE句を使用して、特定の基準を満たすサブフォームからレコードを表示したい。 – Nikno

+0

いずれにしてもかまいません。しかし、_Master/Child_linkフィールドを使用することは、ゼロコードの解決策です。 – Gustav

+0

サブフィールド 'field1 = foo'と' field2 = bar'にあるすべてのデータを表示したいのですが、どうすればリンクフィールドでそれを行うことができますか? – Nikno

関連する問題