
よく住所録を、レポートでプリンタに出力するのですが、人の名前や住所の長さが毎回違う為、調整に凄い時間がかかります。
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(アクセス)
-
SQL文で パラメータが少なすぎます エラー
Access(アクセス)
-
-
4
Accessのマクロでモジュールを実行させたい。
Access(アクセス)
-
5
Access サブフォームでの選択行の取得
その他(データベース)
-
6
Access2007、フォームのテキストボックスのサイズ調整に関して
その他(データベース)
-
7
アクセスVBA フォームのスクロールバーを動かす。
Visual Basic(VBA)
-
8
スクロールバーをVBAで操作したい
Access(アクセス)
-
9
アクセスVBAで既に開いているエクセルを閉じたい
Yahoo!ショッピング
-
10
文字数に合わせて、コントロールの幅を設定する方法
Visual Basic(VBA)
-
11
Accessでテーブルの値をテキストボックスに代入するには?
Access(アクセス)
-
12
ACCESSでコントロールソースの変更
Access(アクセス)
-
13
Accessの画面更新を一時的に停止する方法。
その他(データベース)
-
14
アクセスのフォームで、文字を中央揃えにしたい
Access(アクセス)
-
15
ACCESSで空白のデーターをクエリで判定/識別する方法を教えてくださ
Access(アクセス)
-
16
レコードを保存するコード アクセスvba
その他(Microsoft Office)
-
17
access マクロでのフィルタの解除の方法
Access(アクセス)
-
18
Accessで別テーブルの値をフォームに表示したい
その他(データベース)
-
19
Access テキスト型に対する指定桁での0埋め方法
その他(データベース)
-
20
accessのレポートであとから他のテーブルのフィールドを追加する方法
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ACCEESでマウスがテキストボッ...
-
アクセスで住所の番地を縦書き...
-
Accessで文字列の長さによって...
-
VBAでエクセルシートを更新...
-
日付の大小の表現
-
エクセルのチェックボックスを...
-
excelで、セル内に文字が入力さ...
-
マクロボタンを押すと、ファイ...
-
「24日の0時」って・・・
-
「時間」、「期日」、「日付」...
-
エクセルで最高値、最低値の日...
-
差し込み印刷に当日の日付が入...
-
Excel関数 「日付を入力...
-
Accessで24時間を超える時間の...
-
会社や役所などに提出する書類...
-
エクセルで数字から名前に変...
-
EXCELで日付を****年上期、****...
-
フォームの値をクエリーに反映...
-
エクセル マクロ 名前を付けて...
-
Accessにて24時を越えた場合の表示
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Accessで文字列の長さによって...
-
Excelでテキストボックスやオー...
-
ACCESS 2000のレポートでの文字...
-
ACCEESでマウスがテキストボッ...
-
アクセスのレポートで縮小印刷...
-
アクセスで住所の番地を縦書き...
-
libreoffice の縦書きテキスト...
-
accessのレポートのテキストボ...
-
Access2003レポートに演算コン...
-
accessのレポート上のフォント
-
VBAでエクセルシートを更新...
-
マクロボタンを押すと、ファイ...
-
「24日の0時」って・・・
-
日付の大小の表現
-
エクセルのチェックボックスを...
-
エクセルで最高値、最低値の日...
-
excelで、セル内に文字が入力さ...
-
Excel関数 「日付を入力...
-
差し込み印刷に当日の日付が入...
-
「時間」、「期日」、「日付」...
おすすめ情報