タイムマシーンがあったら、過去と未来どちらに行く?

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

A 回答 (4件)

縦方向の可変であれば、テキスト型でも可能でしたね。


no3は読み捨ててください。
    • good
    • 3
この回答へのお礼

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

お礼日時:2009/05/29 10:14

縮小ではなく、本当に可変にしたいのであれば


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

>例えばフォントサイズが12or5の二者択一ではなくて、データ量が印刷範囲内であれば12とし、範囲を超えればその範囲内のすべてのスペースを有効に使う最適のフォントサイズにて表示されるという方法はありますでしょうか。

(ちょうどエクセルのセル設定にあるような機能です)

ACCESSには無いでしょうね。
それを実現しようとしたら、WIN API等で 文字のピッチを求めたり
かなりのプログラム知識がいるでしょう。
プロポーショナルだとさらに 複雑そうですね。
私には難しいです。お力になれなくて済みません。

テキストで文字数のMAXは設定しているのでしょうか?
2者択一で無くても、MAXサイズにもよるでしょうが
10文字単位の括りで、何通りも指定できるようにされてはどうでしょう
ベースを30文字以内だったら 12 
(数値は適当です)
40文字以内は 11
50文字以内は 10
60文字以内は  9



の様にです。
実際に該当のテキスト印刷サイズに対して
入る文字数を適当に洗い出せば、そこそこ見栄えの
良いものになると思います。
    • good
    • 0
この回答へのお礼

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

お礼日時:2009/05/29 10:10

印刷時のイベントで判断すれば可能です。


例えば(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
    • good
    • 1
この回答へのお礼

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

お礼日時:2009/05/28 08:46

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報

このQ&Aを見た人がよく見るQ&A