Microsoft Access 掲示板

フォームAのフォームBにあるサブフォームにフィルターをかけたいのですが

3 コメント
views
4 フォロー

御世話になります。
Forms![O111受注台帳閲覧]にある テキストボックス[納入先ID] の値で Forms![C101納入先マスターメイン]![C101納入先マスターサブ].Form![納入先ID] を開きたいのですがどのようにしたら良いのでしょうか?
マクロで
Forms![C101納入先マスターメイン]![C101納入先マスターサブ].Form![納入先ID]  = Forms![O111受注台帳閲覧]![納入先ID]
としたのですが抽出されませんでした。よろしくお願いします。

igachan
作成: 2019/08/13 (火) 16:29:05
通報 ...
1

「フォームを開く」アクションの「Where条件式」の設定ですね。
別のフォームのコントロール値を使ってレコードを制限する場合は下記の構文になります。
[フィールド名] = Forms![フォーム名]![別のフォームのコントロール名]

開きたいフォームはメイン/サブフォーム形式のようですが、メインフォームとサブフォームの関係はどのようになってますか。
メインフォームとサブフォームが「納入先ID」フィールドでリンクされているなら、
[納入先ID]  = Forms![O111受注台帳閲覧]![納入先ID]
と設定すればOKです。

そうでないなら、メインフォームとサブフォームの関係がどうなっているか説明してください。

2
igachan 2019/08/14 (水) 08:14:54 729ea@7b46d

ありがとうございます。
Forms![C101納入先マスターメイン] と Forms![C101納入先マスターメイン]![C101納入先マスターサブ].Form!
が [得意先ID] で関連付けしてあります。

3

リンク親フィールド、リンク子フィールドで関連付けしてあるということでしょうか。

ならば、
[納入先ID]  = Forms![O111受注台帳閲覧]![納入先ID]
でいいと思います。試してみてください。

[C101納入先マスターメイン] を [O111受注台帳閲覧]の[納入先ID]で抽出することになりますが、
メインフォームを抽出すれば、サブフォームもそれに関連するデータに抽出されます。