- ベストアンサー
Access 小数の印刷
こんにちは。 Accessで見積書を作っています(Access2003) 商品単価に、小数がある場合があり、(例 \2.05)小数第2まで表示させ印刷できるようにしましたが、中には、\18,000,000のような桁数が多い単価があり、これに小数第2まで印刷すると、\18,0000,000.00になりとてもわかりにくくなってしまいます。 それで小数がある場合のみ小数第2、それ以外は整数で印刷されるようにしたいです(\付きで) なにかいい方法はないでしょうか?よろしくお願いします。
- みんなの回答 (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)、小数部分がない(=整数)と判断)
その他の回答 (1)
- DexMachina
- ベストアンサー率73% (1287/1744)
> 小数がある場合のみ小数第2、それ以外は整数で印刷されるようにしたいです(\付きで) フォームかレポートのテキストボックスかと思いますが、プロパティシートの『書式』タブの『書式』 プロパティに、以下のような設定をすればOkです。 (但し、小数がない場合も、小数点だけは表示されてしまいますが) \\#,##0.## ※全てを「#」にすると、「\.」となってしまうのを防ぐため、1の位のみ「0」を指定(→「\0.」と表示)。 こちらも参考になるかと思います(適用対象が2007になっていますが2003でも同様): http://office.microsoft.com/ja-jp/access/HA012327401041.aspx (Accessのヘルプでも、同様の内容が説明されています)
補足
おはようございます。 すみません、質問の仕方が悪かったみたいです。 商品 単価 みかん \2.05 りんご \180 ←ここはすべて右揃えです 棚 \180,000 こんな風に印刷されるようにしたかったんです。 教えていただいたやり方だと、すべて.がついてしまいました。
お礼
こんにちは。 やりたかったことが出来ました~。 画像まで添えて丁寧に回答していただきありがとうございました。