文字列の長さに応じてテキストボックスを拡張・縮小する(印刷時拡張・印刷時縮小)

 レポート上のテキストボックスに文字列が収まりきらない場合に有用な「印刷時拡張」プロパティと、その逆の「印刷時縮小」プロパティについてです。

f:id:accs2014:20180722204932p:plain:right:w650

 なお、サンプルとしてこのようなテーブルを用います。見るからに長い名前が気になりますが…;-o-)



印刷時拡張

f:id:accs2014:20180722202505p:plain:right:w400

 上記テーブルをレコードソースとするレポートを作り、テキストボックスを配置しました。しかし、いくつかのレコードで「氏名」の値がテキストボックスに収まりきっていません。
 もちろんテキストボックスの大きさを十分に広げれば文字列は収まりますが、いくつかのレコードのためだけにテキストボックスを大きくしても、逆にほとんどのレコードでテキストボックスはスカスカになってしまいます。個々にテキストボックスの大きさを設定できればいいのですが、それができないのがもどかしいところです。


f:id:accs2014:20180722202502p:plain:right:w650

 そこでデザインビューに移り、「氏名」を選択し、プロパティのうち「印刷時拡張」の値を「はい」にします。


f:id:accs2014:20180722202500p:plain:right:w400

 そして印刷プレビューで見てみます。
 値が収まりきっていなかったテキストボックスのみが縦長に拡大され、値が欠けることなくすべて表示されています。
 これが印刷時拡張の効果です。


印刷時縮小

f:id:accs2014:20180722202456p:plain:right:w650

 さて、同じ「氏名」について、今度は「印刷時縮小」プロパティの値を「はい」にしてみます。


f:id:accs2014:20180722202558p:plain:right:w400

 すると、印刷時拡張のときとは逆に、氏名が短いレコードにおいては、テキストボックスの高さが低く縮小されます。
 これが印刷時縮小の効果です。「会員番号」と「生年月日」にも同じように印刷時縮小を適用するとレコードによっては(1,3,5番目のレコード)すべてのテキストボックスが縮小されます。


備考

印刷時拡張と印刷時縮小の併用

f:id:accs2014:20180722202555p:plain:right:w400

 なお、印刷時拡張と印刷時縮小は併用することができ、ともに「はい」にするとこのようになります。


印刷時拡張を有効にしたときの他のコントロールとの高さの調整

 各テキストボックスの高さが揃わなくなるのが気になるかもしれませんが、高さを揃える方法があります。詳しくは次の記事をご覧ください。

www.accessdbstudy.net


フォームでの印刷時拡張と印刷時縮小

 豆知識ですが印刷時拡張(縮小)プロパティはフォーム上のコントロールにもあります。
 フォームには印刷用のビューがないのでわかりにくいですが「ファイル」タブからの印刷プレビューで印刷結果を確認することができます。