Microsoft Access 掲示板

印刷設定フォームを使い回ししたい等 / 3

4 コメント
views
4 フォロー
3

ものすごく初歩的な質問なのですが 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
通報 ...