• ベストアンサー
  • 困ってます

Access レポートの一部を非表示

  • 質問No.9220062
  • 閲覧数1864
  • ありがとう数2
  • 回答数2

お礼率 73% (488/667)

お世話になります。
Access2010

レポートに5つの項目(5ブロック)があり、フォーム上に設置した
1~5のチェックボックスの状況により表示/非表示させたいと思ってます。
※1つのブロックには20~50個程度のテキストボックス及びラベルが
 設置されてます。

デフォルトでは1~5のチェックボックスのチェックは入っている状態で
5ブロック全て表示させてます。

例えば、1と3、4のチェックが外された状態であれば、レポートの
1と3、4のブロックを非表示にします。

とりあえず上記の処理は出来たのですが、こんなやり方でよいの?って
感じなので、ご教示頂けたらと思います。

やったことは、各ブロックに四角形をかぶせます。
この四角形は背景スタイル[普通]、背景色[背景1]=白 です。
で、可視は[いいえ]としてます。

レポートが出力される際に、

If Me.1 = False Then
Reports![レポート]![1].Visible = True
Else
'何もしない
End If
 ※Me.1はチェックボックス1
って感じで1~5の判定をしてます。
要するにチェックボックスが外れていたら、該当の四角形の可視を[はい]
にしてブロックを白い四角形で隠すようにしてます。

ただ、このやり方だとレポートをデザインで開くと、レポート全体が四角形で
覆われている状態です。もし、テキストボックスの配置を変える場合
四角形をいったん別の場所にずらして戻す・・ってことをやらないといけません。

なので、背景スタイルを[透明]にして、チェックボックスが外れた場合[普通]
にすればよいかと思い、

If Me.1 = False Then
Reports![レポート]![1].BackStyle = 1 ← 0が透明で1が普通
Else
'何もしない
End If

としてみましたが、うまく動きませんでした(非表示にならず)。
ちなみにこれらの処理はレポートを開いた後に行ってます。
なので、可視プロパティは開いた後でも変更可能だけど、背景スタイルは不可能
ってことなのでしょうか。

とりあえず可視/非可視の切り替えで、思ったことは出来てはいるのですが
こういう場合、一般的にはテキストボックスやラベルを一つずつ可視/非可視
に切り替えたりするものなのでしょうか。それとももっと良い方法があったり
するのでしょうか。

ご教示の程、宜しくお願い致します。

質問者が選んだベストアンサー

  • 回答No.2
  • ベストアンサー

ベストアンサー率 87% (378/433)

可視プロパティ以外のレイアウトに影響するプロパティは開いた後(フォーマット後)では変更できないという仕様のようです。

レポートのレイアウトや見た目の変更は、レボート側でするのが通常です。

今回は、レポートの「開く時」のイベントプロシージャを下記のようにすればいいでしょう。

Private Sub Report_Open(Cancel As Integer)

If Not Forms!フォーム名![1] Then Me.[1].BackStyle = 1

End Sub
補足コメント
naoto0216

お礼率 73% (488/667)

失礼しました!
四角形の可視を「いいえ」のままにしてました。
「はい」にすることにより、ちゃんと該当のブロックが
非表示になることを確認しました。

大変勉強になりました。
ありがとうございました。
投稿日時:2016/08/25 18:45
お礼コメント
naoto0216

お礼率 73% (488/667)

hatena1989さま
度々のご回答ありがとうございます。

>可視プロパティ以外のレイアウトに影響するプロパティは開いた後
>(フォーマット後)では変更できないという仕様のようです。
そうでしたか。。
可視プロパティがいけたから、他のもいけると思ってました。

なるほどですね。レポートを開く側の方でフォームのチェック
ボックスを参照して判定すればよいのですね。

で、早速試してみたのですが非表示になりません。。
チェックが入っていない場合、ちゃんと該当の四角形で
BackStyle=1にしているようなのですが、全て表示されて
しまいます。
投稿日時:2016/08/25 18:39

その他の回答 (全1件)

  • 回答No.1

ベストアンサー率 20% (954/4560)

Reports![レポート]![1].Visible = Not Me.1

でもよいのでは??

Q、それとももっと良い方法があったりするのでしょうか?
A、???

よくわからない!
補足コメント
naoto0216

お礼率 73% (488/667)

f_a_007さま
いつもご回答ありがとうございます。

よくわからない!とは、質問の内容がってことでしょうか?
投稿日時:2016/08/25 15:54
関連するQ&A
ページ先頭へ