レポートに透かし文字を表示する

 レポートの真ん中あたりに「部外秘」とか「見本」といった文字を記す方法についてです。

方法1:画像として貼り付ける

 文字を画像にして貼り付ける方法です。
 通常のプロパティ設定で簡単に実現できるのがメリットです。

f:id:accs2014:20180818141939p:plain:right:w500

 まずは画像を用意します。
 ワードアートで作成してスクリーンショットで切り出したところです。
 あとは適当な場所に保存します。


f:id:accs2014:20180818141935p:plain:right:w600

 レポートのデザインビューです。
 各コントロールの背景色を透明にしておきます。そして各セクションの色も白(「交互の塗りつぶし/背景色」は「なし」)にしておきます(画像の背景色が白のため)。
 そしてレポートの「ピクチャ」プロパティの右端の「…」をクリックします。


f:id:accs2014:20180818141931p:plain:right:w500

 保存したファイル選択を選択してOKします。


f:id:accs2014:20180818141927p:plain:right:w600

 画像が表示されているのが確認できます。


f:id:accs2014:20180818141924p:plain:right:w500

 印刷プレビューです。
 画像の表示位置は「ピクチャ配置」プロパティで変更することもできますが、選択肢が5つしかありませんので微妙な調整が必要な場合は画像そのものの片寄り具合で調整してください。
 また、「ピクチャ全体表示」プロパティを「はい」にすると画像はタイル状に敷き詰められて表示されます。


方法2:ページヘッダーを使って文字列を表示する

 ヘッダーを使って文字列を表示する方法です。わずかながらVBAを用いますが、こちらも非常に簡単です。
 画像を使った時のように凝った装飾はできないものの、ページごとに表示内容を切り替えることができるのがメリットです。


f:id:accs2014:20180818142357p:plain:right:w500

 レポートのデザインビューです。例としてページヘッダーを用いてフィールドの値(「チーム」列の値)を表示させてみます。
 まずは各コントロールの背景色を透明にしておきます。
 ページヘッダーを広げて、テキストボックスを置きコントロールソースを「=[チーム]」とし、サイズや文字色を調整します。


f:id:accs2014:20180818142354p:plain:right:w550

 そしてレポートモジュールに次のように記入します。



Option Compare Database

Private Sub ページヘッダーセクション_Format(Cancel As Integer, FormatCount As Integer)

Me.MoveLayout = False

End Sub

 ページヘッダーの出力時に印刷位置を進めないようにすることで、結果的にページヘッダーがページの背景のように表示されるというわけです。

f:id:accs2014:20180818142350p:plain:right:w500

 印刷プレビューです。ページごとに(ページ内の最初の)「チーム」の値が表示されます。

 注意点ですが、場合によってはページヘッダーではなくグループヘッダーを使って表示させることも考えられます。ただし、ページごとに表示させようとしてそのグループヘッダーの「セクション繰り返し」プロパティを「はい」すると、印刷プレビューの際にAccessが停止してしまいます;-A-)