前提・実現したいこと
Accessのレポートを開く際にクエリのパラメータ(Between)を使ってレコードを抽出しています。 どんなパラメータが指定されたかでヘッダ部分とフッター部分のコントロールの表示・非表示をVBAで指定したいのですが、パラメータの値を参照する方法が分かりません。 また、どのイベント発生時に書けばよいのかも分かりません。
該当のソースコード
Private Sub Report_Activate() Dim RS1 As Recordset Set RS1 = Me.RecordSource RS1.MoveFirst RS1.FindFirst "[Grupo] Like '*09'" If Not RS.NoMatch Then Me.[titlePA].Visible = True 'ヘッダのコントロールです Me.[E1-7].Visible = False 'フッターのコントロールです End If RS1.Close: Set RS1 = Nothing End Sub
試したこと
コントロールは両方ともプロパティでVisibleになっています。
クエリの[Grupo]のパラメータで、例えば101から109を選択するとグループ名が101、102… 109のレコードまで出て来ます。 パラメータは必ず入力するので Do Until EOFやLoopは省きました。
Report_Open、Report_Load、Report_Activateで試してみましたが、いずれも同じエラーが出てきます。
ちなみにエラーは(外国語なのでどう説明すればいいかよく分かりませんが)恐らく「このイベントでは実行できない」というようなことを言っているのだと思います。 表示・非表示が思い通りにならない以外は要求したレコードが抽出されています。
手探りで独学中なのでどのイベントが発生する際のプロシージャとすればいいのかも分からず、質問も不明瞭かも知れませんがお許しください。 よろしくお願い致します。
補足情報(FW/ツールのバージョンなど)
Microsoft Office Professional Plus 2013 を使っています。
またOSは外国語版ですが、Unicodeではないプログラムに使用するのは日本語になっています。