Access VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


1281 / 2272 ツリー ←次へ | 前へ→

【7898】枠の中に収まるように印刷したいのですが rin 06/5/29(月) 17:08 質問[未読]
【7900】Re:枠の中に収まるように印刷したいのですが Gin_II 06/5/29(月) 17:26 回答[未読]
【7902】Re:枠の中に収まるように印刷したいのですが rin 06/5/29(月) 17:53 質問[未読]
【7904】Re:枠の中に収まるように印刷したいのですが hatena 06/5/29(月) 22:11 発言[未読]
【7909】Re:枠の中に収まるように印刷したいのですが rin 06/5/30(火) 10:35 お礼[未読]
【7910】Re:枠の中に収まるように印刷したいのです... hatena 06/5/30(火) 11:54 回答[未読]
【7911】Re:枠の中に収まるように印刷したいのです... rin 06/5/30(火) 13:18 お礼[未読]
【7906】Re:枠の中に収まるように印刷したいのです... てっちゃん 06/5/30(火) 8:34 発言[未読]
【7908】Re:枠の中に収まるように印刷したいのです... rin 06/5/30(火) 10:32 お礼[未読]

【7898】枠の中に収まるように印刷したいのですが
質問  rin  - 06/5/29(月) 17:08 -

引用なし
パスワード
   はじめまして。rinと申します。
現在、すでに枠が印刷してある紙に左詰で氏名や住所などを印刷していきたいのですが・・・

文字数がバラバラなので等幅フォントにして
[氏名]&Space(30-LenB([氏名]))
とし、均等割付けで表示するようにしました。

クエリやフォームでは同じ間隔で表示されるのですが
レポートではSpaceの部分が表示されず普通の均等割付になってしまいます
Spaceも表示されて、どのレコードも枠に収まるようにするにはどうすれば宜しいでしょうか?
別にもっと良い方法があるのでしょうか?

初心者なので上手に説明できず、申し訳ございません
どなたか教えて頂ける方、よろしくお願いします

【7900】Re:枠の中に収まるように印刷したいのです...
回答  Gin_II  - 06/5/29(月) 17:26 -

引用なし
パスワード
   >文字数がバラバラなので等幅フォントにして
>[氏名]&Space(30-LenB([氏名]))
>とし、均等割付けで表示するようにしました。

StrConv 関数を使って、全角スペースにしたらどうなりますか?

【7902】Re:枠の中に収まるように印刷したいのです...
質問  rin  - 06/5/29(月) 17:53 -

引用なし
パスワード
   ▼Gin_II さん:
早速のお答え有り難うございます

>StrConv 関数を使って、全角スペースにしたらどうなりますか?

頂いたアドバイスを参考に
[氏名]&StrConv(Space(30-LenB([氏名])),vbWide)
としてみましたが変わりありませんでした・・・。
構文が間違えているのでしょうか?

本当に初心者なもので・・・すみません

【7904】Re:枠の中に収まるように印刷したいのです...
発言  hatena  - 06/5/29(月) 22:11 -

引用なし
パスワード
   >頂いたアドバイスを参考に
>[氏名]&StrConv(Space(30-LenB([氏名])),vbWide)
>としてみましたが変わりありませんでした・・・。
>構文が間違えているのでしょうか?

この式をどこに、どのように記述したのですか。

【7906】Re:枠の中に収まるように印刷したいのです...
発言  てっちゃん  - 06/5/30(火) 8:34 -

引用なし
パスワード
   ▼rin さん:
こんにちは

ちょっと面倒くさいですが、テキストボックスを30個作り、

Mid$([氏名] & Space(30), 1, 1)
Mid$([氏名] & Space(30), 2, 1)
Mid$([氏名] & Space(30), 3, 1)
Mid$([氏名] & Space(30), 4, 1)
Mid$([氏名] & Space(30), 5, 1)
.....
Mid$([氏名] & Space(30), 30, 1)

としてみてはいかがですか?

力技ですが、安定性はあると思います。

【7908】Re:枠の中に収まるように印刷したいのです...
お礼  rin  - 06/5/30(火) 10:32 -

引用なし
パスワード
   ▼てっちゃん さん:

有り難うございます!
うまくいきそうです(^_^)
これはいろいろ使えそうです!

皆様本当に有り難うございました<(_ _)>

【7909】Re:枠の中に収まるように印刷したいのです...
お礼  rin  - 06/5/30(火) 10:35 -

引用なし
パスワード
   ▼hatena さん:

はじめまして

>>頂いたアドバイスを参考に
>>[氏名]&StrConv(Space(30-LenB([氏名])),vbWide)
>>としてみましたが変わりありませんでした・・・。
>>構文が間違えているのでしょうか?
>
>この式をどこに、どのように記述したのですか。


レポートのテキストボックスのコントロールソースに入力したり、
クエリにこの式の新しいフィールド[名前]を作ってみたりしたのですが・・・。

【7910】Re:枠の中に収まるように印刷したいのです...
回答  hatena  - 06/5/30(火) 11:54 -

引用なし
パスワード
   >レポートのテキストボックスのコントロールソースに入力したり、
>クエリにこの式の新しいフィールド[名前]を作ってみたりしたのですが・・・。

その具体的な記述を出してもらわないと、間違いを指摘できません。

コントロールソースに記述するなら、
一例を挙げると、

=[氏名] & StrConv(Space(30-Len([氏名])),4)

(vbWide というのは VB定数ですので、コントロールソースやクエリでは
使えません。LenBは、バイト単位の数を返します。)

とか、

=Left([氏名] & String(30," "),30)

それぞれの関数の意味を理解して使うようにしましょう。

【7911】Re:枠の中に収まるように印刷したいのです...
お礼  rin  - 06/5/30(火) 13:18 -

引用なし
パスワード
   ▼hatena さん:

>コントロールソースに記述するなら、
>一例を挙げると、
>
>=[氏名] & StrConv(Space(30-Len([氏名])),4)

これでやってみるとうまくいきました!!

>(vbWide というのは VB定数ですので、コントロールソースやクエリでは
>使えません。LenBは、バイト単位の数を返します。)

>それぞれの関数の意味を理解して使うようにしましょう。

私は、VB定数が使える場所をごちゃごちゃに理解していたのですね(T_T)
お勉強になりました!今後気をつけます。
本当に有り難うございました。

1281 / 2272 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
1078228
(SS)C-BOARD v3.8 is Free