文字列の一部だけ書式を変える

 レポートでのTipsです。
 古いバージョンのAccessだと、例えば文字列の一部に下線をひくことができないため適当な位置に線を置いて代用する、ということがありましたが、最近のバージョンではリッチテキスト形式を適用することで下線に限らず各種の書式を部分的に設定できるようになっています。
 テーブルではデータ型を「長いテキスト」、文字書式を「リッチテキスト形式」としたフィールドのみ可能ですが、レポート上ではコントロースソースのデータ型にかかわらず実現可能ですのでやり方を紹介します。

 試しに普通のテキストボックス内の一部の文字を選択して、書式設定により太字にしようとすると…


 テキストボックス内のすべての文字に適用されてしまいます。


 そこで、テキストボックスのプロパティを開き、「文字書式」の値を「リッチテキスト形式」に変更します。


 ただ、それから先ほどと同じように設定ようとしても、やはり文字列全体の設定が変更されてしまいます。
 文字列の一部を太字とするには、その部分を<b>と</b>のタグで囲みます。


 印刷プレビューです。フォントの関係でちょっとわかりにくいですが、確かに3文字だけが太字になりました。


 当然ですがコントロールソースとなっているフィールドの値を強調するのにも応用できます。右の画像は<u>と</u>のタグによりフィールドの値に下線をひいて表示する例です。
 フィールドが数値型や日付型であってもレポートのテキストボックスは上記のようにリッチテキスト形式にできますので問題ありません。ただし、テキストボックスのプロパティ「コントロールロース」がフィールド名そのままだと、「リッチテキスト形式」に変更しようとしてもエラーとなります。この場合、先に「コントロールロース」の値を「=[フィールド名]」などに変更してください。このときフィールド名とテキストボックスの名前が同じだと循環参照エラーになりますので、その場合はテキストボックスの名前を適当に変更してください。
 また、Ctrl+Enterでの改行はデザインビューでは有効ですが印刷プレビューに反映されませんので<br>タグで改行させています。


 印刷プレビューです。確かに下線がひかれています。


 各種の書式(太字、斜体、下線、フォント色、フォントサイズ、背景色、フォント)に対応するタグを示します。
 HTMLでは廃止されつつある古臭いタグを使わざるを得ないのが気になりますが、背景色だけはなぜかstyle属性で指定できます。
 また、シングルクォーテーション(')を使うと効きませんのでダブルを2つ使います("")。


 印刷プレビューです。