• ベストアンサー
  • 困ってます

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

はじめまして。仕事でDBを作成しているのですが、行き詰まってしまいました。 レポートで、ある1つのフィールドを表示しているのですが、 データによっては、文字数が少なかったり多かったりします。 それによってフォントを大きくしたり小さくしたりできますでしょうか? (文字数が多いとフォントは小さく、文字数が少ないとフォントは大きく) ぜひ教えて下さい。お願いします。

共感・応援の気持ちを伝えよう!

  • 回答数1
  • 閲覧数388
  • ありがとう数3

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

  • ベストアンサー
  • 回答No.1
  • ARC
  • ベストアンサー率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字以上なら 質問等ありましたら、補足欄にお書きください。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

ARCさん、どうもありがとうございました! 教えていただいた方法(VBA)でやってみたところ うまくいきました。 また何かありましたら教えてくださいね。

関連するQ&A

  • access フィールドのサイズ(文字数)変更

    とても単純な質問で申し訳ないのですが、 Access2000でつくったテーブルにデータを入力しようとしたら、 「指定されたデータ量がフィールドサイズを超えています。」と表示されます。文字数を変更すればよいことですが、デザインビューでプロパティをみても文字数を変更するところがありません。(フィールドのサイズは変更できるのですが)。どのようにすればよいか教えていただけますか?

  • Access2003複数フィールドの文字数合計

    複数のフィールドに入力されている文字列(数値や文字)の文字数をカウントし、そのレコードごとの合計を1回の更新クエリで算出する方法があれば教えてください。 =========================================================== ☆1つのレコードにA~Eのフィールドがあり、全角・半角の文字および英数字のデータが混在しています。(データの入っていない場合は「null」となる) (例) No  [A]       [B]     [C]       [D]       [E] 1  東京都   港区   ○○1丁目  1-2-3   ●×マンション101 2  神奈川県  横浜市  ○○○町   10-10   △△ビル10F  3    〃      〃     〃       〃        〃    =========================================================== (1) これらの各フィールドの文字数を「LEN関数」を使って、新たなフィールドF~Jに文字数を表示する (2) そして、上記のF~Jの文字数を「SUM関数」を使って、フィールドKへ合計数を表示しています。 (例) No  [F]  [G]   [H]  [I]  [J]   [K] 1   3   2   5   5  10    25 2   4   3   4   5   7     23     =========================================================== 現在は、上記のように、各フィールドの文字数を出してから合計数を計算していますが、 この合計数[K]の値を、フィールドF~Jを作成しなくても一度で計算できるような関数式があれば教えてください。 私は、SQLが書けないので、フィールド欄へ関数式を入力しておりますが、 関数だけでは出来ない場合は、SQLで教えていただければ幸いでございます。 お手数お掛けしますが、宜しくお願い致します。

  • Access2003 文字数の合計について

    複数のフィールドに入力されている文字列(数値や文字)の文字数をカウントし, そのレコードごとの文字数合計を出したいのですが、「エラー」になってしまい うまくできないので、アドバイスを頂きたいと存じます。 ========================================================================= ☆1つのレコードA~Eのフィールドがあり、全角・半角の文字および英数字のデータが混在しています。  なお、データの入っていない空欄がところどころにあります。 [手順1] まず、フィールド内にある空白を除くためReplace関数を使って置換するため フィールドへ以下の式を入力します。 B1: Replace([B]," ", "") D1: Replace([D]," ", "") (例) [ID]  [A]         [B]       [C]       [D]            [E]     1  東京都   港区 ○○1丁目  1-2-3   ●×マンション 101  ○○様方 2  神奈川県  横浜市○○○町   10-10    NULL           NULL 3  千葉県   千葉市 ○○○町  NULL    NULL            ○○様方 ========================================================================= [手順2] 空白を取り除いたフィールドの文字数をカウントするためLen関数を使ってカウントするため フィールドへ以下の式を入力します。 文字数: Len('' & [A] & [B] & [C] & [D] & [E]) (例) [ID]  [A]         [B1]       [C]       [D1]           [E]     [文字数]   1  東京都   港区○○1丁目   1-2-3   ●×マンション101   ○○様方     29 2  神奈川県  横浜市○○○町   10-10    NULL           NULL      16 3  千葉県   千葉市○○○町   NULL    NULL           ○○様方     14 ========================================================================= [手順1]~[手順2]を行い、文字数フィールドに合計値が表示されるようにしたいのですが、 [手順1]のクエリ実行でフィールド[D]の空欄に「#エラー」が表示されてしまい、 以下のとおり、[手順2]で文字数を出すことができませんでした。 (例) [ID]  [A]         [B1]       [C]       [D1]           [E]     [文字数]   1  東京都   港区○○1丁目   1-2-3   ●×マンション101  ○○様方     29 2  神奈川県  横浜市○○○町   10-10    #エラー        #エラー     #エラー 3  千葉県   千葉市○○○町   NULL    #エラー        ○○様方     #エラー ========================================================================= 上記のようなエラーを出さずに、文字数合計をしたいので、アドバイスをいただきたいと存知ます。 よろしくお願いいたします。

  • Access textboxの大きさを、文字数に合わせたい

    こんにちわ。 Accessについての質問なのですが、フィールドから入力された文字数 によってレポート上のテキストボックスの幅を変えたいのですがどの ようにすればよいでしょうか。 多分VBAで制御するものだと思うのですが、検索しても、テキストボッ クスの大きさに合わせて、フォントサイズを縮小したり拡大したりす る・・・といった内容は見つかるのですが、私の求めているものは 見当たりませんでした。 知っている方がおられましたら、是非よろしくお願いします。

  • ACCESSでの文字数カウント

    EXCELでのLEN関数のようにACCESSで一つのフィールドにある文字列の文字数をとなりのフィールドに表示させることは可能なのでしょうか? ご存知のかたがいらっしゃいましたらご教授お願い致します。

  • 文字数制限

    FlashLite1.0でステージ上にテキストフィールドと0~9のボタンを作成し、ボタンを押すとテキストフィールドに数字が表示されます。 数字をずっと押すとフィールドから見えなくなっても数字が無限に表示されている状態なので文字数制限をつけたいと思っています。 文字数制限のスクリプトはmaxlengthがあるので使ってみたのですがうまくいきません。 どのようにすれば制限をつけられるでしょうか?

    • ベストアンサー
    • Flash
  • ルーラーの文字数と 1行の文字数

    word2010 ルーラーの文字数と 1行の文字数が合わない いろいろ検索してみましたが納得のいくものはありませんでしたので質問します。 文章の体裁を整えているときに、インデントなどを使おうとして調整していると ルーラーに表示されている文字数と実際の文書の一行の文字数が違う時があります。 文字入力の時のフォントサイズを変えてしまうと、一致しなくなるようですが 手動で文字送りのフォントサイズを変更すれば一致しますが、これを自動で 一致できるようにはならないでしょうか。 いちいち手で変更しなければならないものでもないし、こういう仕様だと言われればそれまでですが 今の技術であれば簡単に自動設定できそうなものですが、それらしいものは見つけられません。 皆さんはこの差、違いが気にならずに使っておられるのでしょうか。 自分は気になりましたので質問しました。

  • Access 2013 レポートのフォントサイズ

    いつもお世話になっております。 今回Access2013のレポート(帳票)についてお伺いしたいことがあります。 帳票のデザインを行っている際、テキストでデータベースとの連結をしますが、 その際にテキストで設定された長さに合わせたフォントに自動調整して表示 するということは可能でしょうか。 エクセルなどではセルに合わせた枠の大きさに文字サイズを合わせて大きくなったり 小さくなったりしますが、これと同様の機能があれば、 データベースの文字数が全て表示されると思いました。 またこのような問題を回避するためには何か策があれば おしえていただければと思います。 どうぞよろしく御願いいたします。

  • ■Access エクスポート時に文字数を指定してCSV出力

    ■Access エクスポート時に文字数を指定してCSV出力 Accessのテーブルをエクスポート時に文字数を指定して、更に文字列の後ろのスペースを含めてCSV形式で出力させたいのですが可能ですか? CSVですので区切り文字は「,」(カンマ)で、全てのフィールドに対して「"」(ダブルクォート)で括りたいのです。 出力結果は下記のイメージになります。 ・1つ目のフィールドは、指定文字数「5文字」で「2文字」のスペースが含まれる ・2つ目のフィールドは、指定文字数「4文字」 ・3つ目のフィールドは、指定文字数「5文字」(2byte表記の為、10byte指定)で、「2文字」  (4byte)をスペースにする。 ---------------------------- "001 ","test","あああ  " "002 ","test","いいい  " "003 ","test","ううう  " 以上になりますが、どなたか教えていただけますでしょうか。 ACCESS初心者の為、大変申し訳ありませんが、詳しい手順もお願い致します。 宜しくお願い致します。

  • ワードの文字数確認

    レポート作成時、ワード文章の文字数を確認したいのですが、「文字カウント」機能を使うと、「文字数」や「単語数」等、色々な項目が出てきます。 レポートは1500文字の指定なのですが、どの項目が「1500」であれば良いのでしょうか? ご存知の方がいらっしゃいましたらお教えください。 よろしくお願いします。