dポイントプレゼントキャンペーン実施中!

こんにちは。
Accessで見積書を作っています(Access2003)
商品単価に、小数がある場合があり、(例 \2.05)小数第2まで表示させ印刷できるようにしましたが、中には、\18,000,000のような桁数が多い単価があり、これに小数第2まで印刷すると、\18,0000,000.00になりとてもわかりにくくなってしまいます。
それで小数がある場合のみ小数第2、それ以外は整数で印刷されるようにしたいです(\付きで)
なにかいい方法はないでしょうか?よろしくお願いします。

A 回答 (2件)

No.1です。



> ここはすべて右揃えです

このサイトにアップすると連続する半角スペースが削除されてしまうのと、フォントに
よって文字幅も変わるので、意図を汲み損ねていたらすみませんが、
小数点で揃えず、テキストボックスに右揃えにする、ということでよろしいでしょうか。

前回は、入力・編集も行う可能性を考えての回答でしたが、参照・表示専用で
よければ、以下の方法で対応できます。
また、今回の方法であれば、整数データの場合に小数点(「.」)を表示させずにおく
こともできます。
(なお、更にやり方を変えれば、入力/編集にも対応可能ではありますが、VBAを
 使用してかなり厄介な制御をすることになるので、お勧めはできません)

仮に、現在のテキストボックスの『コントロールソース』プロパティ(→プロパティシートの
『データ』タブにあります)が「フィールド1」だった場合、同プロパティを以下のように
変更して下さい。

【現在】
フィールド1

【変更後】
=Format([フィールド1], IIF([フィールド1]-Int([フィールド1])=0, "\\#,##0", "\\#,##0.0#"))
※先頭の「=」は必須になります。

これで、後は『書式設定 (フォーム/レポート デザイン)』ツールバーで右揃えを指定
してやれば、ご希望の書式になるかと思います。


<関数の概略>
 ・Format関数:
  第1引数で指定した値を、第2引数で指定した書式にします。
 ・IIF関数:
  第1引数の条件を満たす場合は第2引数を、満たさない場合は第3引数を返します。
  (上の式では、第2引数で整数の場合の、第3引数で小数ありの場合の書式を指定)
 ・Int関数:
  引数の数値の整数部分を返します。
  (この結果と、元の値が一致すれば(=差が0)、小数部分がない(=整数)と判断)
「Access 小数の印刷」の回答画像2
    • good
    • 0
この回答へのお礼

こんにちは。
やりたかったことが出来ました~。
画像まで添えて丁寧に回答していただきありがとうございました。

お礼日時:2009/11/12 15:14

> 小数がある場合のみ小数第2、それ以外は整数で印刷されるようにしたいです(\付きで)



フォームかレポートのテキストボックスかと思いますが、プロパティシートの『書式』タブの『書式』
プロパティに、以下のような設定をすればOkです。
(但し、小数がない場合も、小数点だけは表示されてしまいますが)

\\#,##0.##

※全てを「#」にすると、「\.」となってしまうのを防ぐため、1の位のみ「0」を指定(→「\0.」と表示)。



こちらも参考になるかと思います(適用対象が2007になっていますが2003でも同様):
http://office.microsoft.com/ja-jp/access/HA01232 …
(Accessのヘルプでも、同様の内容が説明されています)
「Access 小数の印刷」の回答画像1

この回答への補足

おはようございます。
すみません、質問の仕方が悪かったみたいです。
商品    単価
みかん   \2.05
りんご   \180  ←ここはすべて右揃えです
棚    \180,000
こんな風に印刷されるようにしたかったんです。
教えていただいたやり方だと、すべて.がついてしまいました。

補足日時:2009/11/11 08:50
    • good
    • 0

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

関連するカテゴリからQ&Aを探す