• 締切済み

Accessの桁区切りについて教えてください。

アクセスのレポートの金額に、桁区切りのカンマを付けたいと思っています。 プロパティの書式を通貨にすると¥マークがついてしまいます。 合計は付いてもいいのですが、内訳には¥マークを付かないように桁区切りだけにしたいのです。 そのため、書式に『###,##0』としました。 できましたが、小数点以下が表示されません。 小数点を表示したいので『###,##0.###』としたら、『59,180.000』となってしまいます。 小数点の指定を自動から3桁表示に変えましたが、うまくいきません。 教えていただきたい内容としては、 ・金額の表示に桁区切りのカンマを付けたい。 ・でも¥マークは付けたくない。 ・小数点以下該当があるもののみ3桁まで表示させたいが(5,500.365)、  小数点以下がないものは小数点以下は表示させたくない(5,400)。 ぜひともアクセスを使いこなしている方、お教えください。

みんなの回答

noname#64217
noname#64217
回答No.5

ごーめーんーなーさーい!!!No1です。 できませんでした。。。間違っていましたぁぁぁ。 罪滅ぼしに、ちゃんと調べてみました↓ [書式]に「#,###.###」と入力。 [小数点]に「自動」を設定。 これで、桁数に応じて小数点が変わるようになります。 けど・・・小数点がないときも「.」が出る、というデメリットが。 なので、他回答者さんのようにVBAを加えた処理がいいのかも知れません。 ちなみに、これもまた罪滅ぼしに「どっかで設定がないか?」と探しましたが、 Accessのメニューやプロパティには該当するものはありませんでした。 失礼しました。。。

mayayann
質問者

補足

いえいえ。 でも、やっぱりできませんでした。 そーなんですよ、『.』が表示されちゃうのは困るんですよねぇ。 いろいろありがとうございました。

  • ja7awu
  • ベストアンサー率62% (292/464)
回答No.4

> 残念ながら私には高度すぎてちょっとできそうにありません。 クエリーなど作ったことがあれば、説明のとおりやっていただければ できると思いますよ。 VBAの中身は、深く考えないで、そのままコピーすると Valtxt関数が使えるようになります。 一般の関数のように Valtxt(1234.5678) とすると 1,234.568 と返ってきます。

mayayann
質問者

補足

何度も回答ありがとうございます。 とりあえず回答を印刷して会社に持っていってみようと思います。 小数点位置がそろわないのがちょっと見にくそうなので、今回は勉強として試すだけやってみようと思います。

  • ja7awu
  • ベストアンサー率62% (292/464)
回答No.3

ちょっと訂正で~す。 > 例えば、 金額Txt:Valtxt([金額])  としてありますが、この 金額Txt の部分は、↓ と同じ名前になりますので 金額T に合わせる必要があります。 > ・レポートの[金額]のコントロールソースに、この[金額T]を指定します。

mayayann
質問者

補足

訂正までいただきありがとうございます。 自分のPCにはAccessが入っていなくて試せないのですが、 残念ながら私には高度すぎてちょっとできそうにありません。

  • ja7awu
  • ベストアンサー率62% (292/464)
回答No.2

この内容からですと、[金額]フィールドを「レコードの内容により、書式を変えたい」と いうことですので、テキストで処理する方法よりないかと思います。(Access2000) VBAによる「ユーザー定義関数」を使う方法ですが、それで良かったら手順を 詳しく書きますので、テストしてみてください。 ・テーブルのデザインで[金額]フィールドを「数値型」の「単精度浮動小数点型」か  「倍精度浮動小数点型」にします。 ・「モジュール」の新規作成で開いたコードウィンドウに下記コードをコピーして  貼り付けます。 ・フォームのレコードソースにするためのクエリを作成します。  必要なフィールドをQBEグリッド(画面の下側)にドラッグした後、  新規フィールドに 例えば、 金額Txt:Valtxt([金額]) と入力します。 ・レポートの[金額]のコントロールソースに、この[金額T]を指定します。  この書式で「配置」を右に設定します。 これで、少数部がない数値は、整数部だけを表示し、位取りの , が付きます。 小数部がある場合は、4位を四捨五入します。(通常と同じ) その結果、右側に 0 が付いた場合は、表示しません。 ご承知の上とは思いますが、表形式の場合、少数点位置が揃わなくなりますので 見ずらくなってしまいます。 このようなもので如何でしょうか。 Function Valtxt(V As Double) As String Dim T As String Dim N As Integer T = Format(V, "#,##0.000") For N = Len(T) To InStr(T, ".") Step -1   If Mid(T, N, 1) = "0" Then     T = Left(T, N - 1)   Else     Exit For   End If Next N If Right(T, 1) = "." Then T = Left(T, Len(T) - 1) Valtxt = T End Function

noname#64217
noname#64217
回答No.1

[書式]から「標準」を選んで、 [小数点]で「3」を設定する。 で、うまくいくと思いますよ。

mayayann
質問者

補足

そんな簡単にできるんですかぁ。 書式は特に『通貨』しか試してなかったので、明日『標準』でやってみます。

関連するQ&A

  • ワードに差し込んだエクセルデータの桁区切りについて

    ヴァージョンはワード2002です。 エクセルでのデータ内容は客先の会社名と金額、コード番号などです。 金額の欄には「253,000」というように桁区切りの「,」を表示させています。 書式は「通貨」です。 これをワードに差し込むと「,」が消えてしまい「253000」と入ってしまいます。 数字を文字列にさせてカンマをいれてやればカンマが入るのはわかるのですが、 エクセルでは金額欄が数式なので文字にさせるわけにはいきません。 調べたところによるとワードには桁区切り機能はないそうですが、知人に聞いたところ、「何も設定しなくても自然にカンマが入ったよ」というのです。 カンマを表示させる方法はありますか?

  • Excelの桁区切りと小数点以下表示について

    Excelの桁区切りと小数点表示等についてツールバーにある「[,]桁区切りスタイル」や「小数点表示桁上げ」と[セルの書式設定]内にある「小数点以下の桁数」や「桁区切り(,)を使用する」の違いを教えて下さい。 因みにツールバーにある「[,]桁区切りスタイル」を選択すると勝手に小数点第2位まで表示されてしまいます。 それが何故かわからないのです。 ※ Win XP、Excel2002の環境で行っています。

  • ACCESS97からEXCELへのEXPORT

    テーブルより、通貨型で書式は固定、小数点以下桁数1に設定しています ACCESS上での表示は小数点以下1桁で表示されますが EXCELにEXPORTすると小数点以下2桁表示になってしまいます ACCESS側の設定で、EXPORT後小数点以下1桁で表示出来るようには出来ないでしょうか? 宜しくお願いします。

  • Access ¥マークを表示しない

    データ型を通貨型にし、書式も通貨型にしたとき、フォームで¥マークを表示しないようにできないでしょうか? (数値型にすると「小数点以下の表示桁数」を0にしても金額に小数点以下が表示されます)

  • Excel2007の桁区切りスタイルに関する質問です。

    Excel2007の桁区切りスタイルに関する質問です。 数値を入れて、桁区切りスタイルにすると、書式形式が通貨となります。 たとえば、1200本とか、2350個をあらわす数値データでも、桁区切りをいれると表示形式は通貨と表示されます。 桁区切りをする数値って、通貨だけではないと思うのですが、なぜ、通貨と限定するのでしょうか。 初心者なのでつまらない質問をしているかもしれませんが、疑問なのでどなたか教えてくださいますか。

  • レポートのテキストボックスでこんなのを表示したいんですが

    Access97にてレポートを作成しています。 レポート内のテキストボックスに単純に数値を表示したいのですが、 以下の要件を満たしたいんです。 ・1000以上の数値ならカンマで区切る ・小数点以下の数値がない場合は整数部分だけ表示 ・小数点以下の数値がある場合は小数点以下の数字を桁に応じて表示 例 「945」→「945」 「1283」→「1,283」 「10.42」→「10.42」 「8.2」→「8.2」 テキストボックスのプロパティ「書式」を「数値」、 かつ「小数点以下桁数」を「自動」にしても、なぜか全ての数値が 小数点以下2桁まで表示されてしまいます。 お知恵をおかしください。 よろしくお願いします。

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

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

  • エクセルで、数値の桁区切りに関して

    エクセルで以下のような数値に桁区切りを設定したいのです。 書式設定で”数値”を選択し、桁区切りを設定すると小数点以下がカットされてしまいますし、 FIXED関数を使おうかと思いましたが、小数第3位以降が四捨五入されてしまうので 使えませんでした。ユーザー定義をこれまで使ったことないので調べてみたものの 結局自己解決出来ませんでした。。 お分かりになる方お教え願えないでしょうか? ちなみに、使用環境はWindowsで、バージョンは2003、2007の両方あります。 1234567 1230 4567.89856 0.0356 0.1598756 0.00658 -35607 -0.0056 -23.5668 -3468972.234

  • Access2007 クエリーの書式について

    Access2007を使っているのですが、クエリーで3桁区切りを 表示するときに、プロパティシートで小数点以下表示桁数の 項目が表示されたり、されなかったりします。表示されない 時は、レポートを作成した時に設定したりしますが、なぜ クエリーのところで、表示できたりできないのかがわかり ません。 どなたかアドバイスを頂けませんでしょうか?

  • エクセルでの数値の表記方法(桁区切りや小数点)

    数値に桁区切り表示や小数点表示をする場合、日本や英米では、例えば1千2百34万5千6百78小数点9なら、12,345,678.9 のように、桁区切りはカンマ、小数点はピリオドで表記しますね。 ところがヨーロッパでは、ドイツ、イタリア、ベルギーなどでは、12.345.678,9 のように、桁区切りはピリオド、小数点はカンマで表記します。 また、フランスやロシアでは、12 345 678,9 のように、桁区切りはスペース、小数点はカンマで表記します。 スイスでは言語(独、仏、伊)にかかわらず、12'345'678.9 のように、桁区切りはアポストロフィー、小数点はピリオドです。 Window自体を「地域設定」で直してしまえば、国別にあわせ数値の表記方法は如何様にも対応はできると思いますが、実は今作成しているエクセルはシートごと数値の表記を変えたいのです。1シート目には日本語、2シート目には英語、3シート目がフランス語のようになっており、各シートは1枚目に入力した数値を参照して計算し、表示されます。したがって、地域設定は使えないと思います。 このようにシートごとに数値の表記方法を変えるにはどうしたらよいのでしょうか? ご教示くださいませ。

専門家に質問してみよう