ACCESS レポートの行の高さを自動調整する方法
ACCESSのレポートでは様々な帳票を作成できます。
帳票を作っていて困るのが、入力された値が長すぎると印刷時に文字が切れてしまうことです。
そうならないためには表示する枠を広く、高さを高くする必要があるのですが、これを事前に見越して十分なサイズにしておくことは結構難しいですよね。
今回はそんなときに役立つ、レポートの行の高さを自動調整する方法をご紹介します。
こんにちは。
はこにわガジェット (@hakoniwagadget) です。
ACCESSを使った売上管理、顧客管理などのデータベース開発を行っています。
ACCESSは使いこなすために少しスキルが必要なものの、うまく活用すればExcelよりも業務の効率化が図れます。
この記事ではACCESSで実際に作成したフォームやレポートを、その作成方法と共にご紹介していきます。
ACCESSではレポートの行の高さをユーザーが自由に変えられない
ACCESSではフォームなどで入力したデータを、レポートという印刷に適した帳票形式で表示できます。
レポートの中でも複数のレコードを一覧で表示する表形式は非常に良く使われる形態です。
しかしACCESSのレポートは、フィールドに含まれる文字の長さに応じて行の高さを変えるということがユーザーにはできません。
Excelだと簡単に行の高さを変更できるので、このあたりが不便に思われやすいところです。
上記の例ではメモID3と4のメモが切れてしまっていますね。
Excelであればこういう時に3と4の行の高さだけを変えることができるのですが、ACCESSではできません。
ACCESSのレポートは開発者が事前にレイアウトまでを決めておく必要があるのです。
では、最も長い文字数に合わせて行の高さを大きくしておけばよいのでは、となるのですが、これをやってしまうとその他の文字が短い行に余白が多く出てしまい、一枚の帳票に印字できる情報が減ってしまいます。
これはこれで不便ですよね。
これを解決するのが、文字の量に応じて自動的に行の高さを変更する「印刷時拡張」です。
印刷時拡張で行の高さを自動調整する
では、印刷時拡張の使い方をご紹介します。
例えば、以下のような問い合わせ履歴のテーブルがあります。
このテーブルを元にレポートを作成し、デザインビューで表示します。
ここで、レポートのメモ欄のコントロールを選択して、プロパティシートを表示してください。
「書式」タブに「印刷時拡張」という項目がありますので、これを「はい」にします。
印刷時拡張は、印刷時に行の高さがデータに対して不足していれば自動的に行を高くして文字が切れないようにする機能です。
では、これを行ったうえで印刷プレビューを見てみましょう。
このように、メモ欄は文字の流れに応じて動的に変更され、文字が切れることがなくなりました。
しかし、他のフィールドの高さは自動で変わらないので罫線がずれてしまって気持ち悪いですよね。
これを解決したいと思います。
ここで、他のフィールド(メモIDや日付)にも印刷時拡張を設定すればよいのでは、と思うかもしれません。
しかし、他のフィールドの文字が長いわけではないので印刷時拡張を設定しても行の高さが自動で増えないのです。
あくまで印刷時拡張はコントロール単位で動作する設定です。
これを解決する方法を2つお伝えします。
表形式ですべての行の高さを合わせる
1つめはレポートの書式で表形式を使用する方法です。
レポートのデザインビューで表示するラベルとテキストボックスをすべて選択し、「配置」タブから「表形式」を選択します。
すると下記のようにすべての行の高さが合い、罫線のずれもなくなります。
ただし、表形式の仕様上、罫線と罫線の間にすき間ができてしまう点はどうしても解消できません。
罫線をなくす
もう一つの方法は罫線をなくすことです。
レポートのデザインビューですべてのコントロールを選択し、プロパティシートの「書式」タブから境界線スタイルを「透明」にしましょう。
すると下記のように罫線が表示されなくなりますので、罫線のずれが気にならなくなります。
ただし、これだとさすがにどこで行が変わっているのか分かりにくいですよね。
そこで、再度デザインビューで詳細セクションを選択してプロパティシートを表示します。
「書式」タブの「代替の背景色」に背景色とは異なる色を設定してみましょう。
すると、下記のように行ごとに交互に色がついて行の変わり目が分かりやすくなります。
代替の背景色は、このように行の色を交互に変えたい場合に利用する設定項目です。
上記のいずれかの方法を使っていただければ、文字数に合わせて行の高さを自動調整しつつ、レイアウトも見やすく作ることが可能です。
以上、レポートの行の高さを自動調整する方法をご紹介しました。
ACCESSを使いこなせば、業務の効率化や自動化が実現できます。
しかし、自分でACCESSを学ぶには時間がない、難しそうで不安、という方も多いでしょう。
そんな時は、ACCESS開発歴20年以上、過去に100以上のACCESSデータベースを開発してきた私(@hakoniwagadget)にお任せください。
ACCESSの新規開発、既存のACCESSの修正、ACCESSの操作レッスンなど様々なサービスをご提供しています。
ご興味のある方は下記のサービス一覧をご覧ください。
最後までお読みいただき、ありがとうございました。