現在のフォームからボタンを押すと、現在のフォームの「種類ID」が含まれるサブフォーム「サブ種類フォーム」が含まれる主フォーム「物件フォーム」を開きたいです。
以下式ですが…間違っていますよね。正しい式を教えていただけませんでしょうか。
DoCmd.OpenForm "F物件", acNormal, "", " Forms![F_物件]![F_サブ種類]!Form![種類ID]=[Forms]![F_現在のフォーム]![txt種類ID]", , acDialog
現在のフォームからボタンを押すと、現在のフォームの「種類ID」が含まれるサブフォーム「サブ種類フォーム」が含まれる主フォーム「物件フォーム」を開きたいです。
以下式ですが…間違っていますよね。正しい式を教えていただけませんでしょうか。
DoCmd.OpenForm "F物件", acNormal, "", " Forms![F_物件]![F_サブ種類]!Form![種類ID]=[Forms]![F_現在のフォーム]![txt種類ID]", , acDialog
下記の記事が参考になると思います。
サブフォームのフィールドを対象にメインフォームにフィルタをかける - hatena chips
上記はメインフォームのFilterに抽出条件を設定していますが、今回はOpenFormメソッドの第4引数に抽出条件を設定すればいいだけです。
上記を読んでも、どうしたらいいか分からない場合は、
メインフォームのレコードソースのテーブル名(orクエリ名)と、それの主キーと主なフィールド名、
サブフォームのレコードソースのテーブル名(prクエリ名)と、それの主キーと主なフィールド名、
また、サブフォームコントロールのリンク親フィールド、リンク子フィールドの設定を教えてください。
ありがとうございます!やってみてうまくいかなかったらまた質問させていただきます。
ところで、こういったことをきちんと理解するにはSQLの勉強をすべきなのでしょうか…
Accessではたいていのことはクエリのデザインビューでできますが、サブクエリとかユニオンクエリなどを使えるようになるにはSQLの理解は必要ですね。
少し前の質問になりますが、うまくいかないため改めて質問です。
すみません、間違って投稿してしまいました…
下記のコードを作りましたがうまく作動しません。
メインフォームのレコードソースのテーブル名(orクエリ名)Q_物件管理
それの主キーと主なフィールド名、 物件管理ID(主キー)、オーナー情報など
サブフォームのレコードソースのテーブル名(prクエリ名) Q_サブ物件
それの主キーと主なフィールド名 物件ID(主キー)、区分NO、住所など
また、サブフォームコントロールのリンク親フィールド、リンク子フィールドの設定 物件管理ID
区分NO(短いテキスト)で検索したい。
何が間違っているのか、教えていただけると助かります。
ちなみに「btn物件」を配置しているフォームは、また全然別のフォームです。
とりあえず
ならSQLでも文字列が指定されている必要があります
区分NO = " & Me.txt区分NO & ")"
↓
区分NO = '" & Me.txt区分NO & "')"
やはりそこでしたか…助かりました。ありがとうございました。