hatena
hatena
2024/03/05 (火) 15:21:23
ものすごく初歩的な質問なのですが Private rptName As String はVBA画面の一番上に記述するから参照出来るのですね?(フォーム内の色々な所に)
モジュールレベル変数となり、モジュール内のコードならどこからでも参照できる変数になります。他のモジュールからは参照できません。
どの範囲で参照できるかをスコープといいます。「VBA スコープ」のキーワードにWEB検索してみてください。解説ページがいろいろ見つかると思いますので研究してみてください。
レポート上に小さい埋め込み画像があります。この画像を条件により表示/非表示にしたいのです。このレポートは入力フォーム上のボタンでプレビューさせ、フォーム上の画像あり/なしのオプションボタンで条件設定をしようと考えてます。
フォーム上のプレビューボタンでレポートをプレビューするときに、Docmd.OpenReportメソッドの OpenArgs引数でオプショングループの値を渡せばいいでしょう。
下記のような設定と仮定します。
オプショングループ
名前 | 関連付けされたラベルの標題 |
---|---|
フレーム1 | 小さい埋め込み画像 |
このオプショングループ内に下記のオプションボタンが2つ配置してある
名前 | オプション値 | 関連付けされたラベルの標題 |
---|---|---|
opt表示 | 1 | 表示 |
opt非表示 | 2 | 非表示 |
プレビューボタンクリック時
Private Sub プレビューボタン_Click()
DoCmd.OpenReport "レポート1", acViewPreview, "", "", acWindowNormal, Me.フレーム1.Value
End Sub
レポートの読み込み時
Private Sub Report_Load()
If OpenArgs = 1 Then
Me.イメージ1.Visible = True
Else
Me.イメージ1.Visible = False
End If
End Sub
通報 ...