
よく住所録を、レポートでプリンタに出力するのですが、人の名前や住所の長さが毎回違う為、調整に凄い時間がかかります。
A4用紙にきっちりと収めないといけないので、収まりきらないときは、名前のフリガナを少し省いたりすることもあります。
今はLen関数を使って文字の長さをある程度計って、おおまかに調整しているのですが、半角文字などが入ってくると、正確な長さが出なかったりします。
Accessにある機能を使って、レポートで出力するさいの、フィールドの幅を自動調整(フィールドに格納されている最大文字数が入る幅に調整)はできるのでしょうか?できないのでしたら、他に良い方法などございましたら、アドバイスして下さいませ!
宜しくお願いします。
No.1ベストアンサー
- 回答日時:
データの量に応じて、フィールドの横幅を自動調整することはできませんが、
縦幅なら調整できます。
イメージとしては、次のような感じです。
データが少ない場合
┌───────┐
│ああああああ │
└───────┘
データが多い場合
┌───────┐
│あああああああ│
│あああああああ│
│あああああああ│
│あああ │
└───────┘
上記のようなパターンでもよろしければ、
次の操作で、レポートのデザインビューを使い
プロパティの設定を行ってください。
1)レポートをデザインビューで表示
2)自動調整したいコントロールを選択
3)プロパティシートを表示
4)[書式]タブ内の[印刷時拡張]を[はい]に設定
5)プロパティシートが表示されたまま、
自動調整したいコントロールのあるセクションを選択
プロパティシートのタイトルバーが
「セクション:○○」と表示されます
6)[書式]タブ内の[印刷時拡張]を[はい]に設定
以上です。
これで、データ量が多くなったときは、
縦にコントロールが伸びるようになります。
お役に立てばよいですが。
No.3
- 回答日時:
クエリーで使用するのでしたら vbFromUnicode を 128 とすればいいです。
LenB(StrConv(文字列, 128))
No.2
- 回答日時:
Len関数は文字数が返るので全角・半角の判断では使えません。
LenB(StrConv(文字列, vbFromUnicode))
とすればバイト数が算出できます。半角は 1、全角は 2として文字列のバイト数が
求められます。
フォントやフォントサイズによって微妙に調整が必要かと思いますが、半角文字の
幅さえわかれば、このバイト数を乗じて幅を変えることができるかもしれません。
直接の回答じゃないですが、参考になれば幸いです。
この回答への補足
半角全角を区別してバイト数を出す方法が便利そうなんで、ぜひ使えるようになりたいんですが、上の
LenB(StrConv(文字列, vbFromUnicode))
をクエリで使用すると vbFromUnicode が
フィールド名として認識されてしまうのですが・・・。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
レポート中の文字を自動縮小したい (ACCESS 2003)
Access(アクセス)
-
アクセス2016のレポートで、テキストボックスの文字を自動で改行(縮小)させたい。
Access(アクセス)
-
Access サブフォームでの選択行の取得
その他(データベース)
-
-
4
Access2007、フォームのテキストボックスのサイズ調整に関して
その他(データベース)
-
5
Access レポート印刷するときに1ページに収める方法
Access(アクセス)
-
6
Accessのマクロでモジュールを実行させたい。
Access(アクセス)
-
7
文字数に合わせて、コントロールの幅を設定する方法
Visual Basic(VBA)
-
8
SQL文で パラメータが少なすぎます エラー
Access(アクセス)
-
9
スクロールバーをVBAで操作したい
Access(アクセス)
-
10
Accessで別テーブルの値をフォームに表示したい
その他(データベース)
-
11
Accessレポートの詳細の高さ(VBA)
Excel(エクセル)
-
12
アクセスのフォームで、文字を中央揃えにしたい
Access(アクセス)
-
13
Accessでテーブルの値をテキストボックスに代入するには?
Access(アクセス)
-
14
ACCESSのデータに自動で半角スペースを入れたい
その他(データベース)
-
15
Accessのフォームにて、詳細行のボタンを行の内容により、表示/非表
その他(Microsoft Office)
-
16
ACCESSで空白のデーターをクエリで判定/識別する方法を教えてくださ
Access(アクセス)
-
17
Access終了時にマクロまたはVBAの実行したい
その他(Microsoft Office)
-
18
アクセスVBAで既に開いているエクセルを閉じたい
Yahoo!ショッピング
-
19
日付型のフィールドに空白を入れる方法を教えてください
その他(データベース)
-
20
ACCESSでVBAから選択クエリの抽出条件を指定したい
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Accessで文字列の長さによって...
-
libreoffice の縦書きテキスト...
-
Access フォームやレポートで行...
-
VBAでエクセルシートを更新...
-
日付の大小の表現
-
マクロボタンを押すと、ファイ...
-
差し込み印刷に当日の日付が入...
-
エクセルで最高値、最低値の日...
-
エクセルのチェックボックスを...
-
「時間」、「期日」、「日付」...
-
Excel関数 「日付を入力...
-
「24日の0時」って・・・
-
差込印刷 縦書きで和暦(漢数...
-
エクセルで数字から名前に変...
-
エクセルで日付別にシートを分...
-
エクセル 条件が成立した場合...
-
word文書で赤文字テキストを抽...
-
Windows10の標準電卓アプリで指...
-
回覧板の日付について質問です...
-
excelで、セル内に文字が入力さ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Accessで文字列の長さによって...
-
Excelでテキストボックスやオー...
-
ACCESS 2000のレポートでの文字...
-
ACCEESでマウスがテキストボッ...
-
アクセスのレポートで縮小印刷...
-
アクセスで住所の番地を縦書き...
-
libreoffice の縦書きテキスト...
-
accessのレポートのテキストボ...
-
Access2003レポートに演算コン...
-
accessのレポート上のフォント
-
VBAでエクセルシートを更新...
-
マクロボタンを押すと、ファイ...
-
「24日の0時」って・・・
-
日付の大小の表現
-
エクセルのチェックボックスを...
-
エクセルで最高値、最低値の日...
-
excelで、セル内に文字が入力さ...
-
Excel関数 「日付を入力...
-
差し込み印刷に当日の日付が入...
-
「時間」、「期日」、「日付」...
おすすめ情報