- 締切済み
Access マクロ SQLは合ってるのに②
Microsoft Access でマクロ(VBAではない)を制作しています。「検索画面」フォームに情報を入力して「検索実行」を押すと「全項目」フォームがフィルターされて表示するようにしたいです。 制作したマクロ① フォームを開く フォーム 全項目 Where条件式 [投稿者]=[Forms]![検索画面]![投稿者] 制作したマクロ② ローカル変数の設定 変数名 [SQLCode] 値の代入 変数 [LocalVar]![SQLCode] 値 "[投稿者]=[Forms]![検索画面]![投稿者]" フォームを開く フォーム 全項目 Where条件式 [LocalVar]![SQLCode] ローカル変数の削除 変数 [LocalVar]![SQLCode] このマクロを実行したところ、マクロ①は正しく実行されましたが、マクロ②はフィルターされずにフォームが表示されました。 どこを直せば良いのか教えてください。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- chayamati
- ベストアンサー率41% (260/624)
今晩は >Microsoft Access でマクロ(VBAではない)を制作しています。 「検索画面」フォームに情報を入力して「検索実行」を押すと 「全項目」フォームがフィルターされて表示するようにしたいです。 ★検索項目はフォームを開く前に検索値が確定していることが必要です。 >フォームを開く フォーム 全項目 Where条件式 [投稿者]=[Forms]![検索画面]![投稿者] ★フォーム内の全項目の中に[投稿者]が含んでいますか [Forms]![検索画面]![投稿者]とは別に ------------------------------------------------------------- ローカル変数の設定 変数名 [SQLCode] 値の代入 変数 [LocalVar]![SQLCode] 値 "[投稿者]=[Forms]![検索画面]![投稿者]" フォームを開く フォーム 全項目 Where条件式 [LocalVar]![SQLCode] ローカル変数の削除 変数 [LocalVar]![SQLCode] >このマクロを実行したところ、マクロ①は正しく実行されましたが ★実行結果は期待通りですか 、マクロ②はフィルターされずにフォームが表示されました。 SQLcode のリストを補足願います
- chayamati
- ベストアンサー率41% (260/624)
今晩は ナビゲーション枠にある《検索画面》フォームを先に開いてから 《マクロ①》または《マクロ②》を実行して下さい
- kkkkkm
- ベストアンサー率66% (1731/2601)
Where条件式 [LocalVar]![SQLCode] を Where条件式 =[LocalVar]![SQLCode] にしたらどうでしょうか。 以下のような感じで 「」はテキストボックス ローカル変数の設定 名前 「SQLCode」 式 = 「"[投稿者]=[Forms]![検索画面]![投稿者]"」 フォームを開く フォーム名 「全項目」 Where条件式 = 「=[LocalVars]![SQLCode]」 (LocalVarsと最後にsをつけてますこちらで必要でしたので) とりあえずこちらでは機能しました。
- kkkkkm
- ベストアンサー率66% (1731/2601)
値の代入ではアイテムと式を設定しますが、変数と値となっているのですか? SetValue マクロ アクション https://support.microsoft.com/ja-jp/office/setvalue-%E3%83%9E%E3%82%AF%E3%83%AD-%E3%82%A2%E3%82%AF%E3%82%B7%E3%83%A7%E3%83%B3-36dfca71-0d8c-40fc-8b9f-31cfe5f48aab
お礼
こちらで解決しました。ありがとうございました。