OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

Access97で、文字数によってフォントのサイズを変えたい。

  • 困ってます
  • 質問No.102190
  • 閲覧数288
  • ありがとう数3
  • 気になる数0
  • 回答数1
  • コメント数0

お礼率 86% (33/38)

はじめまして。仕事でDBを作成しているのですが、行き詰まってしまいました。

レポートで、ある1つのフィールドを表示しているのですが、
データによっては、文字数が少なかったり多かったりします。
それによってフォントを大きくしたり小さくしたりできますでしょうか?
(文字数が多いとフォントは小さく、文字数が少ないとフォントは大きく)

ぜひ教えて下さい。お願いします。
通報する
  • 回答数1
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.1
レベル13

ベストアンサー率 46% (643/1383)

とりあえず、「印刷時拡張」プロパティを「はい」にすると、印刷時に、行数に応じてテキストボックスが縦方向に広がります。これが使えるんであればこっちを使った方が綺麗な仕上がりになりますね。

用紙幅がきっちりと決まってる場合など上記の方法が使えない場合には、仰るように文字数に応じてフォントサイズを変えるVBAを用意します。

1:レポートをデザインビューで開き、
2:詳細を右クリック、プロパティを表示し、
3:イベントのフォーマット時を[イベント プロシージャ]にする。更にその右の[...]をクリック
4:出てくる画面で以下のようにコーディングする

Private Sub 詳細_Format(Cancel As Integer, FormatCount As Integer)
 If Len(Nz(Me![フィールド名], "")) >=20 Then '20字以上なら
  Me.テキストボックスの名前.FontSize = 7 'フォントを7ポイントに
 Else
  Me.テキストボックスの名前.FontSize = 9 'それ以外(=19字以下)なら9ポイント
 End If
End Sub

ちなみに、上例では半角も全角も同じく1文字としてカウントします。
半角=1文字、全角=2文字としてカウントする場合は、コードをこんな感じに書き換えてください。
If LenB(StrConv(Nz(Me![フィールド名], ""),vbFromUnicode)) >=40 Then '20字以上なら

質問等ありましたら、補足欄にお書きください。
お礼コメント
minima

お礼率 86% (33/38)

ARCさん、どうもありがとうございました!
教えていただいた方法(VBA)でやってみたところ
うまくいきました。
また何かありましたら教えてくださいね。
投稿日時 - 2001-07-12 10:12:44
-PR-
-PR-
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
このやり方知ってる!同じこと困ったことある。経験を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ