こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

accessのレポートのテキストボックス

accessのレポートのテキストボックスで文字数が多いと文字が入らず印刷時拡張を使ってもそのテキストボックスしか大きくならずアンバランスです,他のテキストボックスも一緒に大きくするか,文字を小さくしてテキストボックス内に入るようにするにはどうすればよいでしょうか?VBAを使ってもかまいませんので教えてください。

投稿日時 - 2003-02-28 16:25:08

QNo.485693

すぐに回答ほしいです

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

こんにちは。

どういう感じのレポートか分かりませんが、
テキストボックスの高さを少し高くして改行ができるようにしては、どうでしょうか?
また、レポートの詳細のフォーマット時にテキストのフォント名、サイズは、変更できますよ。
例えば、そのテキストボックスの桁数を調べて、桁数が多ければ、フォントまたは、サイズを変更する。
ただ、これは、全テキストボックスをそうしたい場合は、記述が大変だし、
印刷するデータ件数が多い場合は、若干遅くなりますが...(^_^;)

こんな感じです。
レポートの詳細のフォーマット時で、

If Len(Me![テキストボックス名])> xx then ←何桁以上だった時
Me![テキストボックス名].FontName = "フォント名1" ←小さいフォント
Me![テキストボックス名].FontSize = xx ←小さく印刷する時のサイズ
Else
Me![テキストボックス名].FontName = "フォント名2" ←通常印刷するフォント
Me![テキストボックス名].FontSize = xx ←通常の指定のサイズ
End

これで出来ます。
よい回答じゃないかもしれないですけど、本職じゃないのでご勘弁下さい。
では。



では。

投稿日時 - 2003-02-28 17:26:06

補足

すみません。このVBAだと全部大きくなったり小さくなったりで,長い文章だけ小さい文字にできないのですがどうすればいいのでしょうか?

投稿日時 - 2003-02-28 22:13:05

お礼

前者のやり方は気がついていたのですが文章がうえのほうに偏ってしまってきれいではないのでやらなかったのです,せめて1行のときは真ん中に自動でやってくれればよかったのですが,後者のほうはもうばっちりです。なるほどこういう方法があったのですね,VBA初級者なので気がつきませんでした,どうもありがとうございます,今から試してみます。

投稿日時 - 2003-02-28 21:23:47

このQ&Aは役に立ちましたか?

2人が「このQ&Aが役に立った」と投票しています

回答(4)

ANo.4

こんにちは。

>いろいろ数字を変えて試してみたんですが一番最初の文字だけしか適用されず
>そのあとの文字数が多くても少なくても最初で判断した文字サイズが使われているみたいです。
>イベントのタイミングが問題なのかいろいろ試してみましたがだめでした。
多分、VBAを書くところの問題と思います。
まず、レポートをデザインモードで開きます。
レポートをデザインモードで開くと、「ページヘッダー」「詳細」「ページフッター」があると思います。
その、「詳細」の文字をクリックすると、そこが黒く反転します。
反転したら、今度はそこで右クリックをして、ポップアップメニューを出して、「イベントのビルド」をクリックします。
そうすると、下記のように表示されるはずです。

Private Sub 詳細_Format(Cancel As Integer, FormatCount As Integer)

End Sub

この間に、書けば大丈夫だと思います。
試してみて下さい。
では。

投稿日時 - 2003-03-02 14:30:34

お礼

できました。どうもありがとうございました。

投稿日時 - 2003-03-02 18:33:46

ANo.3

こんばんわ、No.1です。

>このVBAだと全部大きくなったり小さくなったりで,
>長い文章だけ小さい文字にできないのですがどうすればいいのでしょうか?

回答の中で、(何桁→何文字)
>If Len(Me![テキストボックス名])> xx then ←何文字以上だった時
がありますが、この xx(数字です)をもう少し大きくしてみればいいのでは?
長い文章というのは、何文字以上の時という時の何文字を、xx に書きます。

例えば、Me![テキストボックス名]が、15文字より大きい時、長い文章とするなら、
If Len(Me![テキストボックス名])> 15 then とすればよいです。

それで、15文字以下の文章は、Else ~ End If で設定したフォントで出力されます。
ちなみに、Else ~ End If の設定は、そのテキストボックスに設定したプロパティの
フォント、サイズと同じものを書いて下さい。

これでどうでしょうか?

投稿日時 - 2003-03-01 22:54:20

補足

いろいろ数字を変えて試してみたんですが一番最初の文字だけしか適用されずそのあとの文字数が多くても少なくても最初で判断した文字サイズが使われているみたいです。イベントのタイミングが問題なのかいろいろ試してみましたがだめでした。よろしくお願いします。

投稿日時 - 2003-03-02 11:33:24

ANo.2

印刷時拡張を設定したレポートで横罫線をそろえる方法
マイクロソフトのサポートに載っていました。

テキストボックスの高さは変えられないので、
印刷時に、一番高さの高い テキストボックスに合わせて
LINEを引きます。

参考URL:http://support.microsoft.com/default.aspx?scid=kb;ja;404907

投稿日時 - 2003-03-01 11:54:54

あなたにオススメの質問