プロが教えるわが家の防犯対策術!

現在アクセスに入力されているテーブルのデーターをもとに書道展のキャプションを作成中です
タイトルと作家の名前を表示させますがタイトルが1文字数から13文字数くらいまでと様々なため
テキストボックスの文字配置が均等割り付けだと文字数の多いタイトルは2段目が間延びしておかしいです
例えば8文字までだと均等割り付けそれ以上だと左揃えなどということが可能でしょうか?
他に良い方法があれば教えてくださいよろしくお願いします
Wordの差し込み文章のように一枚ごとの編集が出来ればいうことなしなのですが?それはあり得ませんか?

質問者からの補足コメント

  • お答えいただきありがとうございました。私アクセス、あまり詳しくありません。再度ご質問させてください アクセスのレポートです
    フォーマット時のイベントプロシージャの最後に書き加えました
    すると、エラーが出てマクロ名、ユーザー定義関数名、「イベントプロシージャ」以外の式が指定されていますとなりました。
    イベントプロシージャには文字数が多くなれば自動で2行にになり字も小さくなるための式がかかれていますこの式もネット上の式をコピペしたもので自分で書いたのではありませんが
    書き足すまでは機能していたと思います
    すみませんよろしくお願いします
    式全部をコピペするとわかりやすいでしょうが、他人の作ったのをもともとコピペしているので著作権に触れるのかと・・・

    No.1の回答に寄せられた補足コメントです。 補足日時:2015/12/21 23:09

このQ&Aに関連する最新のQ&A

A 回答 (2件)

> イベントプロシージャには文字数が多くなれば自動で2行にになり字も小さくなるための式がかかれています



こちらでしょうか?

テキストボックス内の文字を自動で縮小して全体を表示
http://hatenachips.blog34.fc2.com/blog-entry-11. …

上記の例なら

Private Sub 詳細_Format(Cancel As Integer, FormatCount As Integer)
  AutoFontSize Me.テキストボックス名, 12
  If Len(Me.テキストボックス名) <= 8 Then
    Me.テキストボックス名.TextAlign = 4 '均等割り付け
  Else
    Me.テキストボックス名.TextAlign = 1 '左揃え
  End If
End Sub

のようになります。


> ユーザー定義関数名、「イベントプロシージャ」以外の式が指定されていますとなりました。

加えた変更を元に戻してもエラーになりますか?

とりあえず、コンパイルしてエラーが無いことを確認してください。

経験上、Access のバージョンにもよりますが、
デザインビュー以外で表示しているときに VBA の修正をしたりすると
このエラーが出ることが多いような気がしています。
    • good
    • 0
この回答へのお礼

ありがとうございました!!確かにご指摘のアドレスです。教えていただいた式で解決しました。
自問自答のここ3日間のもやもや一気に晴れました。
これでボタン一つ押すだけでキャプション一気に作れます
VBAの感触もなんとなくですが・・・前よりわかった気もしてうれしいです。
ほんとうに感謝いたします。!!

お礼日時:2015/12/22 15:34

VBA を使えば可能です。



Private Sub 詳細_Format(Cancel As Integer, FormatCount As Integer)
  If Len(Me.タイトル) <= 8 Then
    Me.タイトル.TextAlign = 4
  Else
    Me.タイトル.TextAlign = 1
  End If
End Sub
この回答への補足あり
    • good
    • 0

このQ&Aに関連する人気のQ&A

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

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

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

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

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

Aベストアンサー

こんにちは。

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

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

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

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



では。

こんにちは。

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

こんな感じです。...続きを読む

Qアクセス レポート テキストボックスの文字を均等割り付けにし、文字数で前後にスペースを入れたい

2回目の投稿になりますが、アクセスのレポートで書道展のキャプションを作成中です
bonaron様の助けもあって、
題名の入力されたテキストボックスで8文字分の均等割り付けにしています文字数が8文字以上の場合は文字の大きさを小さくして2行に左寄せに表示するようにできました。
だいぶ完成に近づいてきましたが、題名を入れるテキストボックスで、欲を言えば2文字、3文字の場合均等割り付けで文字間隔が広がりすぎになります。
例えば2文字の場合は前後に2個づつスペースを入れ3文字の場合は前後にスペースを1文字分づつ入れ均等割り付けにする、そのほかはスペースを入れない
など不可能でしょうか?
ネットで調べてみましたがスペースを除く記事がほとんどでした。

Aベストアンサー

こちらの続きですね。
http://oshiete.goo.ne.jp/qa/9135880.html

条件付きで可能です。

テキストボックスの末尾の半角スペースは削除されてしまうので
全角スペースにする必要があります。
複数のスペースの場合には、最低でも最後の1個は全角スペースに。

テキストボックスのコントロールソースに式を記述しますので
テキストボックスの「名前」と「コントロールソース」が同じだったら
「名前」の方を変更してください。
例えば、両方とも「フィールド1」なら
「名前」の方を「txtフィールド1」とするとか。

この状態で前回のVBAで、
テキストボックス名を変更して動作確認してください。

OKなら次に
コントロールソースを変更します。

上の例で
現在の「コントロールソース」が 「フィールド1」だとしたら

=IIf(Len([フィールド1])=2,"  " & [フィールド1] & "  ",IIf(Len([フィールド1])=3," " & [フィールド1] & " ",[フィールド1]))

のようにしてください。

以上。

安全のために、バックアップをお忘れなく。

こちらの続きですね。
http://oshiete.goo.ne.jp/qa/9135880.html

条件付きで可能です。

テキストボックスの末尾の半角スペースは削除されてしまうので
全角スペースにする必要があります。
複数のスペースの場合には、最低でも最後の1個は全角スペースに。

テキストボックスのコントロールソースに式を記述しますので
テキストボックスの「名前」と「コントロールソース」が同じだったら
「名前」の方を変更してください。
例えば、両方とも「フィールド1」なら
「名前」の方を「txtフィールド1」とするとか...続きを読む

QAccessで文字列の長さによって、フィールドの幅を自動で合わせる方法

よく住所録を、レポートでプリンタに出力するのですが、人の名前や住所の長さが毎回違う為、調整に凄い時間がかかります。

A4用紙にきっちりと収めないといけないので、収まりきらないときは、名前のフリガナを少し省いたりすることもあります。

今はLen関数を使って文字の長さをある程度計って、おおまかに調整しているのですが、半角文字などが入ってくると、正確な長さが出なかったりします。

Accessにある機能を使って、レポートで出力するさいの、フィールドの幅を自動調整(フィールドに格納されている最大文字数が入る幅に調整)はできるのでしょうか?できないのでしたら、他に良い方法などございましたら、アドバイスして下さいませ!

宜しくお願いします。

Aベストアンサー

データの量に応じて、フィールドの横幅を自動調整することはできませんが、
縦幅なら調整できます。

イメージとしては、次のような感じです。

  データが少ない場合
  ┌───────┐
  │ああああああ │
  └───────┘

  データが多い場合
  ┌───────┐
  │あああああああ│
  │あああああああ│
  │あああああああ│
  │あああ    │
  └───────┘

上記のようなパターンでもよろしければ、
次の操作で、レポートのデザインビューを使い
プロパティの設定を行ってください。

1)レポートをデザインビューで表示
2)自動調整したいコントロールを選択
3)プロパティシートを表示
4)[書式]タブ内の[印刷時拡張]を[はい]に設定
5)プロパティシートが表示されたまま、
  自動調整したいコントロールのあるセクションを選択
    プロパティシートのタイトルバーが
    「セクション:○○」と表示されます
6)[書式]タブ内の[印刷時拡張]を[はい]に設定

以上です。
これで、データ量が多くなったときは、
縦にコントロールが伸びるようになります。

お役に立てばよいですが。

データの量に応じて、フィールドの横幅を自動調整することはできませんが、
縦幅なら調整できます。

イメージとしては、次のような感じです。

  データが少ない場合
  ┌───────┐
  │ああああああ │
  └───────┘

  データが多い場合
  ┌───────┐
  │あああああああ│
  │あああああああ│
  │あああああああ│
  │あああ    │
  └───────┘

上記のようなパターンでもよろしければ、
次の操作で、レポートのデザインビューを使い
プロパティの設定を行ってください...続きを読む

Qフォームテキスト内文字の縦位置調整は?

お尋ねします。
Access2000で作ったフォーム内のテキストボックスに入力した文字の「縦位置」調整をする方法はあるでしょうか?
たとえば、上詰め、中央揃え、下詰めなどの調整です。
よろしくお願いします。

Aベストアンサー

Accessでの横の文字位置の調整は左・右・中央・均等のみです。
縦の位置調整は上余白か下余白の数値を入れなければ出来ません。中央揃えとかではなくフィールド内の上または下からの余白数値の入力になります。

Qアクセスのフォームで、文字を中央揃えにしたい

アクセスのフォームに文字を入力しています。
文字が見にくいので、縦を中央揃えにしたいのです。横位置は出来るのですが、縦位置の中央揃えが出来ません。

教えていただけませんか。

Aベストアンサー

こんにちは。

残念ですが、縦方向の中央揃えは出来ません。

> 文字が見にくいので
テキストボックスのプロパティに「左余白」「上余白」「右余白」「下余白」「行間」がありますので、
これらを利用すれば見やすく仕上げることが出来ると思います。

QAccessで、フォームからフォームへ値を引き継ぐやり方

フォームからフォームへ値を引き継ぐやり方を教えて下さい。

たとえば、フォームAのテキストボックスに対して取引先コードを入れるような場合に、
取引先検索専用画面(フォームB)で検索して、選択したレコードのデータをフォームAのテキストボックスに入れたいのです。

心優しい方、宜しくお願いいたします。

Aベストアンサー

フォームBにコマンドボタンなどを作成して
クリック時のイベントプロシージャに
forms![フォームA]![テキストボックス名]=me![選択した値のあるコントロール名]
を入れればとりあえず出来るでしょう。

QエクセルをACCESSのレポートに変換する方法

エクセルで作成している帳票があります。
今後はこれをACCESSのレポート機能で発行したいと考えています。
この場合、エクセルで作成した帳票の表枠をそのままレポートでも
使用したいのですが、簡単に写す方法は無いのでしょうか?
ACCESSのレポートに表枠を一から作るのは非常に面倒なので・・・。

どなたかご存知の方、ご教授ください。よろしくお願いします。

ACCESS2010を使います。

Aベストアンサー

昔立ち読みしたAccess本にエクセルで作成した帳票をAccessのレポートに変換する記事があった記憶があり、検索してみたところ、これらしいというのはあったのですが、詳細な目次が見られないので、確証が取れませんでした。
ちょうど、レポートを作り替えないといけない案件がありましたので、古書を購入してみました。(既に絶版です)
「アクセスのレポートをエクセルでデザインするには」という35ページ位の記事がありました。
まだ使ってみてはおりませんが、送料込み500円弱で購入可能ですので、ご検討下さい。
「Access PROFESSIONAL TECHNIQUE レポート&印刷」
津田真吾著 毎日コミュニケーションズ
2003年刊で、Access2000以降対応というものですので、ご留意下さい。

QAccessのRefresh・Requery・Repaintの違い

Requeryはもう一度ソースレコード(テーブル)を読み込むようです。このとき、テーブルの先頭レコードに移動してしまいます。
Refreshは最新のレコード(テーブル)を再表示するような気がします。レコードの移動は起こらない気がします。
Repaintは、VBAでキャプションなどを変更したとき使っています。
でも、よくわかっていません。
どんなときにどんなメソッドを使えばいいのでしょうか?
詳しい方、よろしくお願いいたします。

Aベストアンサー

たびたびすみません。
調べてたらこんなのがでてきました。
http://www.nurs.or.jp/~ppoy/access/access/acF007.html

参考URL:http://www.nurs.or.jp/~ppoy/access/access/acF007.html

QACCESS 2000のレポートでの文字の均等割付は可能ですか?

ACCESS 2000のレポートでは文字の均等割付は出来ないでしょうか?
例えばテキストボックスのコントロールソース[氏 名]を均等割付したいのですが?
WORDの様な文字の均等割付の
設定は出来ないでしょうか?レポートのテキストボックスのプロパティ等での設定は無理でしょうか?
以上、宜しくお願いします。

Aベストアンサー

テキストボックスのプロパティで、[文字配置]の中のリストに「均等割付」があります。

こちらでは、Access97 ではその選択肢がないこと、Access2002 では選択出来ることは確認していますが、Access2000 は手元にないので分かりません。

下記情報(Access97 でのVBAを使用した均等割付方法)では、Access2000からプロパティに追加された機能であると書いてあります。

参考URL:http://www.ruriplus.com/msaccess/tch/tch_031.html

QAccess レポートの文字間を設定したい

お世話になっております

ACCESS2Kのレポートにつきまして、
ラベルの文字間隔を設定したいと考えております。
行間は、プロパティで設定できたのですが、
文字間隔の設定方法がわかりませんでした。

どのように指定すればよいでしょうか。

ご教授のほど、よろしくお願いいたします。

Aベストアンサー

> 文字間隔の設定方法
できません。
文字フォントのポイント相応に間隔が変動するだけです。
文字間隔を細かく調整する必要 (例えば、専用伝票の所定の記入欄からはみ出すことなく金額を1桁ずつ印字する、といった場合) があれば、1ラベル1文字ずつとするしかありません。
(テキストボックスについても同様)

通常の用途であれば、そこまでは必要ないと思いますが、どうでしょうか?


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

人気Q&Aランキング