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

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

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

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

宜しくお願いします。

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

A 回答 (3件)

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


縦幅なら調整できます。

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

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

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

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

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

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

お役に立てばよいですが。
    • good
    • 0
この回答へのお礼

文字がはみ出るレコードを探すのに使ってます
作業が少し楽になりました、ありがとうございます。

お礼日時:2001/04/19 14:54

クエリーで使用するのでしたら vbFromUnicode を 128 とすればいいです。



LenB(StrConv(文字列, 128))
    • good
    • 0
この回答へのお礼

LenBだと、期待どおりの
結果が得られなくて、???だったのですが
これで半角文字を識別できます
ありがとうございました♪

お礼日時:2001/04/23 10:59

Len関数は文字数が返るので全角・半角の判断では使えません。


LenB(StrConv(文字列, vbFromUnicode))
とすればバイト数が算出できます。半角は 1、全角は 2として文字列のバイト数が
求められます。
フォントやフォントサイズによって微妙に調整が必要かと思いますが、半角文字の
幅さえわかれば、このバイト数を乗じて幅を変えることができるかもしれません。

直接の回答じゃないですが、参考になれば幸いです。

この回答への補足

半角全角を区別してバイト数を出す方法が便利そうなんで、ぜひ使えるようになりたいんですが、上の

LenB(StrConv(文字列, vbFromUnicode))

をクエリで使用すると vbFromUnicode が
フィールド名として認識されてしまうのですが・・・。

補足日時:2001/04/19 14:47
    • good
    • 0

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

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

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

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

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

Q住所録 郵便番号変換ウィザードで フリガナを表示させるには?

住所録を作成しています。

H列に 郵便番号 を入力し、
I列にH列の郵便番号を「郵便番号変換ウィザード」を使って、住所を表示させます。
J列にはあらかじめ
  
=ASC(PHONETIC(I6))
   ~
=ASC(PHONETIC(I2000))


と入れてあります。

たとえば、郵便番号をH列に10件入力してウィザードで変換した場合、J列(フリガナ)にはI列と同じ文字(漢字や数字)が表示されてしまいます。それを、フリガナに変換させるのに、自分の知っている方法は、I列のセル1つを選択し、
shift + Alt + ↑  のキーを同時に押して、
I列の漢字の上にフリガナを表示させ、確認した後に(読みに違いがあればここで修正)、
Enter Enter と打ち、確定させると、J列にフリガナが表示されます。

これを、一気にJ列にフリガナを表示させる方法は無いでしょうか?または、もう少し効率の良い方法でもかまいません。

(フリガナは、おおむね合っているので、確認後、違うものだけ、後から修正しようと思っています)

住所録を作成しています。

H列に 郵便番号 を入力し、
I列にH列の郵便番号を「郵便番号変換ウィザード」を使って、住所を表示させます。
J列にはあらかじめ
  
=ASC(PHONETIC(I6))
   ~
=ASC(PHONETIC(I2000))


と入れてあります。

たとえば、郵便番号をH列に10件入力してウィザードで変換した場合、J列(フリガナ)にはI列と同じ文字(漢字や数字)が表示されてしまいます。それを、フリガナに変換させるのに、自分の知っている方法は、I列のセル1つを選択し、
shift + Alt ...続きを読む

Aベストアンサー

takiboです。はじめに、以後の説明を分かりやすくするためにもマクロのメッセージが出ない(マクロの無い)状態にしておきましょう。
マクロのメッセージが消えない件に関してはこちら読んでください(ここで書くと長くなるので横着します)
『マクロの削除について』 http://okwave.jp/kotaeru.php3?q=1557529

メッセージが出なくなったら本題へ戻ります。

まず、前回紹介した方法はごくごく簡単な、その時のみ作動するものです。
面倒でなければ前回の方法をその都度使ってもかまいませんが、繰り返し使うのであればマクロとして登録したほうが便利でしょう。
手順は以下の通りです。
(1) [Alt] + [F11] で VisualBasicEditor の画面を起動します
(2) メニューの [挿入(I)]→[標準モジュール(M)] とすすむと、標準モジュールというフォルダと、その下に Module1 というアイコンが作られます
(3) (2)で出てきたコードウィンドウ(通常右側の何も書かれていない部分)に以下の3行を入力、または貼り付けします
Sub FURIGANA()
  Selection.SetPhonetic
End Sub
(4) VisualBasicEditor の画面を閉じてエクセルの画面に戻ります

マクロを使う手順は以下の通りです。
(1) IMEの郵便番号辞書のチェックをはずし、無効にします
(2) フリガナを付与したいセル範囲を選択します
(3) [Alt] + [F8] でマクロ画面を起動させ、FURIGANA を選択して実行します

これでご希望の動作の出来上がりです。
「Selection.SetPhonetic」とは読んだそのまま「選択範囲にフリガナ情報を付与する」という命令文です。
《選択範囲=フリガナ情報を付けたい部分》ですから、列でも行でも任意のセル範囲でもかまいません。
おっしゃるように、新しく入力した部分を選択して・・・という方法が実際の運用上では適していると思います。

IME辞書をVBAで操作することは出来ないとはいいませんが相当ややこしいことになってしまいます。
ウィザードを使うことと今回のマクロを使うことは辞書機能的に反対のことをしているため少々面倒かとは思いますが辞書設定は手動で行ってください。

開く時に<有効>にするか<無効>にするかですが、機能を使う時意外は<無効>にして全く問題はありません。
ただ、一度<無効>で開いて作業していたらマクロが使いたくなった、という時はいったん閉じて開きなおさなければいけませんね。

【追記】
最後に自宅PCで動作確認した所(前回は会社PC)、郵便番号辞書の有効/無効に関係なく住所→フリガナに変換されました。
直前に最新の郵便番号辞書をダウンロードしたので、その影響かもしれません。
辞書の設定がなければ楽になりますよね。試してみてください。(できなかったらゴメンナサイ)

参考URL:http://www.microsoft.com/downloads/details.aspx?FamilyId=45192822-FBA7-49E6-B220-09BB32250EB3&displaylang=ja

takiboです。はじめに、以後の説明を分かりやすくするためにもマクロのメッセージが出ない(マクロの無い)状態にしておきましょう。
マクロのメッセージが消えない件に関してはこちら読んでください(ここで書くと長くなるので横着します)
『マクロの削除について』 http://okwave.jp/kotaeru.php3?q=1557529

メッセージが出なくなったら本題へ戻ります。

まず、前回紹介した方法はごくごく簡単な、その時のみ作動するものです。
面倒でなければ前回の方法をその都度使ってもかまいませんが、繰り返し...続きを読む

QWORD2002:テキスト・ボックス・フォーム・フィールドの幅を広くしたい

WORD2002でアンケート・フォームを作成しています。

テキスト・ボックス・フォーム・フィールドを挿入すると、2~3文字分の幅のフィールドが表示されます。このフィールドの幅を、それぞれ5文字分にしたり、20文字分にしたり、と幅を変えるにはどうすればいいのでしょうか?

どのフィールドも最長文字数は指定せず、好きなだけ書けるようにしていますが、「だいたいこれくらい書いてほしい」という目安のような感じにしたいのです。

フィールド内にスペースを入れるやり方ではうまくいきません。マイクロソフト配布のWebテンプレートで色んな幅のフィールドを見たことがありますので幅を変えること自体は可能だと思うのですが、やり方がわからなくて困っています。

ご存知のかた、ご回答をどうぞよろしくお願いします!

Aベストアンサー

#1,4です。
私が質問の意図を誤解してたかな?

Word のフォームにもチェックボックスはありますが・・・(文書をロックしないとテストできないけど)

HTMLとして保存してユーザーに記入してもらい、メール等で受け取りたいのでしょうか?
WordでHTMLの作成はした事がないけど・・・

オプションボタンを使用して「はい」「いいえ」の選択をしたいなら、

オプションボタン1とオプションボタン2を配置する。
オプションボタン1のプロパティで、
Captionを「はい」
GroupNameを適当なもの例えば「Q1」とタイプする。

オプションボタン2のプロパティで、
Captionを「いいえ」
GroupNameを適当なもの例えば「Q1」とタイプする。
「はい」と「いいえ」で一つの同じグループ名にします。

チェックボタンも同様にCaptionとGroupName指定すれば出来ると思います。

QExcelに出力するときにフィールドも出したい

VBのプログラムからExcelにデータを出力したいと思います。Recordsetから一行ずつデータを読み取ってExcelに書き込みしています。問題なくExcelに吐き出せるのですが、フィールド名を吐き出したいです。どのように吐き出しを行えばよいでしょうか?

Aベストアンサー

こちらが参考になるでしょう。
http://www.moug.net/tech/exvba/0150068.htm

Qフィールドのデータによるレポート印刷

ACCESS2000でフォームにボタンを1コだけ配置して、そのボタンをクリックするとあるフィールドのデータがAの場合はレポートAのプレビューを表示し、フィールドのデータがBの場合は別の様式のレポートB、Cの場合はレポートC、Dの場合はレポートDのプレビューを表示するというようなことを行う事は可能でしょうか。

Aベストアンサー

vbaで次のようにできます。

select case me.テキストボックス名
case "A"
docmd.OpenReport "A_Report",acViewPreview
case "B"
docmd.OpenReport "B_Report",acViewPreview
case "C"
docmd.OpenReport "C_Report",acViewPreview
case "D"
docmd.OpenReport "D_Report",acViewPreview
case else
msgbox "レポートはありません。"
end select

QExcel2003 列の幅の調整

お世話になります。

掲題の件で質問が御座います。

通常、列の幅をちょうど良い幅に合わせる時には
列番号というかアルファベット(なかには数字の方もいると思いますが)
の境界線(?)の部分をダブルクリックすると その左側は丁度良い幅に自動的に
調整されますが、この「境界線(?)でダブルクリック」の代わりになるような
キーボード操作は あるのでしょうか?
「何かしらのショートカットがあると良いなぁ」と思い質問致しました。

どなたか お分かりになるかた、宜しくお願い致します。

説明不足等 御座いましたら何なりとお申し付けください。

宜しくお願い致します。

Aベストアンサー

アクセスキーを使う方法です。
下記手順でキー操作してください。
≪列幅≫
Alt+O、C、A
≪行高≫
Alt+O、R、A

下記のような方法もあります。
ツールバーとメニューのユーザー設定
http://www.eurus.dti.ne.jp/~yoneyama/Excel/mous_jyo/jyo-5.html
ボタンのテキストを表示すれば
Alt+アルファベットキー、一発で起動することができるようになります。


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

このカテゴリの人気Q&Aランキング

おすすめ情報