• 締切済み

Access マクロ SQLは合ってるのに②

Microsoft Access でマクロ(VBAではない)を制作しています。「検索画面」フォームに情報を入力して「検索実行」を押すと「全項目」フォームがフィルターされて表示するようにしたいです。 制作したマクロ① フォームを開く フォーム 全項目 Where条件式 [投稿者]=[Forms]![検索画面]![投稿者] 制作したマクロ② ローカル変数の設定 変数名 [SQLCode] 値の代入 変数 [LocalVar]![SQLCode] 値 "[投稿者]=[Forms]![検索画面]![投稿者]" フォームを開く フォーム 全項目 Where条件式 [LocalVar]![SQLCode] ローカル変数の削除 変数 [LocalVar]![SQLCode] このマクロを実行したところ、マクロ①は正しく実行されましたが、マクロ②はフィルターされずにフォームが表示されました。 どこを直せば良いのか教えてください。

みんなの回答

  • chayamati
  • ベストアンサー率41% (260/624)
回答No.4

今晩は >Microsoft Access でマクロ(VBAではない)を制作しています。  「検索画面」フォームに情報を入力して「検索実行」を押すと  「全項目」フォームがフィルターされて表示するようにしたいです。 ★検索項目はフォームを開く前に検索値が確定していることが必要です。 >フォームを開く フォーム 全項目 Where条件式 [投稿者]=[Forms]![検索画面]![投稿者] ★フォーム内の全項目の中に[投稿者]が含んでいますか  [Forms]![検索画面]![投稿者]とは別に ------------------------------------------------------------- ローカル変数の設定 変数名 [SQLCode] 値の代入 変数 [LocalVar]![SQLCode] 値 "[投稿者]=[Forms]![検索画面]![投稿者]" フォームを開く フォーム 全項目 Where条件式 [LocalVar]![SQLCode] ローカル変数の削除 変数 [LocalVar]![SQLCode] >このマクロを実行したところ、マクロ①は正しく実行されましたが ★実行結果は期待通りですか 、マクロ②はフィルターされずにフォームが表示されました。  SQLcode のリストを補足願います

  • chayamati
  • ベストアンサー率41% (260/624)
回答No.3

今晩は ナビゲーション枠にある《検索画面》フォームを先に開いてから 《マクロ①》または《マクロ②》を実行して下さい

  • kkkkkm
  • ベストアンサー率66% (1719/2589)
回答No.2

Where条件式 [LocalVar]![SQLCode] を Where条件式 =[LocalVar]![SQLCode] にしたらどうでしょうか。 以下のような感じで 「」はテキストボックス ローカル変数の設定 名前 「SQLCode」 式 = 「"[投稿者]=[Forms]![検索画面]![投稿者]"」 フォームを開く フォーム名 「全項目」  Where条件式 = 「=[LocalVars]![SQLCode]」 (LocalVarsと最後にsをつけてますこちらで必要でしたので) とりあえずこちらでは機能しました。

NKM_Chitose
質問者

お礼

こちらで解決しました。ありがとうございました。

  • kkkkkm
  • ベストアンサー率66% (1719/2589)
回答No.1

値の代入ではアイテムと式を設定しますが、変数と値となっているのですか? 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