• ベストアンサー

Access 小数の印刷

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

質問者が選んだベストアンサー

  • ベストアンサー
  • DexMachina
  • ベストアンサー率73% (1287/1744)
回答No.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)、小数部分がない(=整数)と判断)

g7gg10
質問者

お礼

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

その他の回答 (1)

  • DexMachina
  • ベストアンサー率73% (1287/1744)
回答No.1

> 小数がある場合のみ小数第2、それ以外は整数で印刷されるようにしたいです(\付きで) フォームかレポートのテキストボックスかと思いますが、プロパティシートの『書式』タブの『書式』 プロパティに、以下のような設定をすればOkです。 (但し、小数がない場合も、小数点だけは表示されてしまいますが) \\#,##0.## ※全てを「#」にすると、「\.」となってしまうのを防ぐため、1の位のみ「0」を指定(→「\0.」と表示)。 こちらも参考になるかと思います(適用対象が2007になっていますが2003でも同様): http://office.microsoft.com/ja-jp/access/HA012327401041.aspx (Accessのヘルプでも、同様の内容が説明されています)

g7gg10
質問者

補足

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

関連するQ&A

  • テキストボックスの書式について(Access)

    Access2003の帳票フォーム上にあるテキストボックスで単価を表示させているのですが、単価が小数点1位まであるものと整数のみのものがあります。これを次のように単価のテキストボックスに表示させたいのですが 例1)単価:100→\100 (\100.0では無い) 例2)単価:99.4→\99.4 <説明> データが整数の場合は整数表示で先頭に¥マークを、データが小数を含む場合は小数を含めた表示で先頭に¥マークを付ける。 どの様な方法があるでしょうか。条件付き書式などが該当するように思えますが、インターネットで調べてもよく分かりませんでした。 VBAのサンプルコードなどご呈示いただければ幸いです。

  • accessで困ってます。単価フィールドの設定を通貨型、小数点2桁まで

    accessで困ってます。単価フィールドの設定を通貨型、小数点2桁まで使用しています。必然的に表示は¥0.00になるかと思います。0以外なら、例)20.50円となって問題ないのですが、0だとレポート作成時に¥0.00が表示されてしまします。書式を#.###としても .00 となるだけで、0は消えません。消す方法をおしえていただけますでしょうか。 小数点桁数を自動にすると、表示が四捨五入されてしまうので、困ります。 宜しくお願い致します。

  • Access 条件付の小数点表示

    条件を付けて小数を表示させることは可能でしょうか? 全体の表示に関しては小数点以下表示桁数で設定できますが、 100以外の表示を小数点以下第一で表示し、100だけは整数で表示させたいです。

  • Accessのデータ型について質問です。

    Accessのデータ型について質問です。 Accessの数値型に 整数型と浮動小数点がありますが、 (1)整数型のフィールドプロパティに「小数点以下表示桁数」の項目があるのでしょうか? (2)浮動小数点表示桁数を「自動」と「桁数指定」するのとでは、データサイズが変わるのでしょうか? どなたかご存じの方がおられましたら、ご教授よろしくお願いいたします。 m(_ _)m

  • Accessで小数点以下の桁数を・・?

    教えてください。 Accessで小数点以下の桁数を表示したいのですが、プロパティで小数点以下の桁数を表示することができるのですが、実際に入力すると値が四捨五入されてしまい小数点以下の桁数を入力することができません。どうしたらよいのでしょうか?

  • アクセスでの小数点の切り上げについて

    分かる方、教えてください。 アクセスで小数点を切上げて、整数にする場合、 上手い方法はあるのでしょうか?   少数  整数   0.5 → 1   1.1 → 2   1.5 → 2 よろしくお願いいたします。

  • Access97 Int関数

    小数点の切り捨てをしたくてクエリーで 以下の計算をしてみました。 =Int([個数]*[単価]) ところが以下の数値で計算させると結果が 50232となると思うのですが50231となってしまいます。 数量:460 単価:109.2 結果:50231(電卓で計算すると50232) 結果が小数点になるときは問題ないようです。 使い方が間違っているのでしょうか。 こういう場合Int関数を使うのが誤りなのでしょうか? だとしたら他に当てはまる関数があるのでしょうか? ちなみにテーブルの定義としては 数量:長整数型(小数点以下桁数0) 単価:単精度浮動小数点型(小数点以下桁数0) となっていますが小数点は表示されています。

  • Excelで小数点の位置を揃えたい

    Excelで、小数点以下の桁数が何種類もあって、それをタテ1列に表示したとき、小数点の位置を揃えたいと思い、セル書式を 0.?? としてみました。 ____2. ___12.5 __152.26 結果は上記のようになります。アンダーバーは無視してご覧下さい。 小数点以下に数値がある場合はよいのですが、整数の場合も小数点が表示されるので不都合です。 各セル共通の書式で、整数の場合に小数点を表示しないようにするには、どうしたらよいのでしょうか、教えて下さい。よろしくお願いします。

  • Accessクエリの整数型と単精度型の演算について

    Accessのクエリで長整数型と単精度浮動小数点型を 加算すると答えが一致しません。理由を知っている人いますか? ちなみに長整数型と倍精度浮動小数点型を加算したときは答えが一致します。 浮動小数点は誤差がつきものなのは分かりますが、 確か単精度浮動小数点型は有効桁数7桁までのはず。 下記の例では問題ないように見えます。 (例)長整数型と単精度浮動小数型の演算:1000+0.20=1000.20000000298 長整数型と倍精度浮動小数型の演算:1000+0.20=1000.2 それではよろしくお願いします。

  • アクセスで小数点以下1桁までをインポートしたい

    アクセスのインポートで小数点1桁までをインポートしたいです。 インポートするデータはCSVファイルです。 インポート定義をつける為に、エクセルのデータをCSVにし、CSVをアクセスにインポートしています。 エクセルの時点では、小数点下1桁まで表示されているのですが、CSVに加工した時に小数点以下1桁が0のものは整数表示になってしまいます。 (例)  エクセル → CSV   38.5  → 38.5   35.0  → 35 アクセスでインポートした後に、全部のレコードを小数点下1桁にするのはどうしたらよいのでしょうか?