• 締切済み

レポート中の文字を自動縮小したい (ACCESS 2003)

現在ACCESS2003から出力されるレポートのレイアウトを作っています。 普段は余り使われないものの、ごく稀に100文字くらい書き込まれるテキストフィールドがあるのですが、その為に100文字分のスペースをレポート上に確保しておくのはとてももったいなく、レイアウトも窮屈になってしまいます。 そこで標準フォントを12の前提で50文字入るスペースを確保し、そのスペース以上のデータの場合には自動的にフォントサイズが小さくなるようなアレンジは出来ますか。 レポート上の対象フィールドの印刷時縮小プロパティを『はい』にしてみましたが、何も変りませんでした。よろしくアドバイスお願いします。

みんなの回答

  • kurodai2
  • ベストアンサー率38% (77/202)
回答No.4

縦方向の可変であれば、テキスト型でも可能でしたね。 no3は読み捨ててください。

Nick925
質問者

お礼

アクセスは難しくて私みたいな素人には判らないことだらけなので、アドバイス本当に助かります。ありがとうございました。

  • kurodai2
  • ベストアンサー率38% (77/202)
回答No.3

縮小ではなく、本当に可変にしたいのであれば 単純に、テキスト型のそのフィールドを メモ型に変えます。 そうすれば、勝手に印字領域の行が増えたり、減ったりします。 印刷のレイアウトにもよりますが、データ型を変えるのも お勧めです。

  • kurodai2
  • ベストアンサー率38% (77/202)
回答No.2

>例えばフォントサイズが12or5の二者択一ではなくて、データ量が印刷範囲内であれば12とし、範囲を超えればその範囲内のすべてのスペースを有効に使う最適のフォントサイズにて表示されるという方法はありますでしょうか。(ちょうどエクセルのセル設定にあるような機能です) ACCESSには無いでしょうね。 それを実現しようとしたら、WIN API等で 文字のピッチを求めたり かなりのプログラム知識がいるでしょう。 プロポーショナルだとさらに 複雑そうですね。 私には難しいです。お力になれなくて済みません。 テキストで文字数のMAXは設定しているのでしょうか? 2者択一で無くても、MAXサイズにもよるでしょうが 10文字単位の括りで、何通りも指定できるようにされてはどうでしょう ベースを30文字以内だったら 12  (数値は適当です) 40文字以内は 11 50文字以内は 10 60文字以内は  9 ・ ・ ・ の様にです。 実際に該当のテキスト印刷サイズに対して 入る文字数を適当に洗い出せば、そこそこ見栄えの 良いものになると思います。

Nick925
質問者

お礼

トライしてみます。アドバイス本当にありがとうございました。

  • kurodai2
  • ベストアンサー率38% (77/202)
回答No.1

印刷時のイベントで判断すれば可能です。 例えば(Access2003で確認) Private Sub 詳細_Print(Cancel As Integer, PrintCount As Integer) If Len(Me.ss) > 50 Then Me.ss.FontSize = 5 Else Me.ss.FontSize = 12 End If End Sub

Nick925
質問者

お礼

ありがとうございました。 例えばフォントサイズが12or5の二者択一ではなくて、データ量が印刷範囲内であれば12とし、範囲を超えればその範囲内のすべてのスペースを有効に使う最適のフォントサイズにて表示されるという方法はありますでしょうか。(ちょうどエクセルのセル設定にあるような機能です)

関連するQ&A