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

お忙しいところ恐れ入りますが教えて下さい。

ACCESSのクエリ上で計算をしフォームに表示させているのですが、関数を使ったところ、%表示が出来なくなりました。

プロシージャーなどは使っていません。

いままでは、
クエリのデザイン画面で、
フィールド欄に  買上率:[個数]/[試食数]
といれ、プロパティでパーセンテージの表示設定をし正しく表示されていましたが、
0値が入っていると、#Errorが表示されるため、これを消すために、以下の式に変更しました。

買上率: IIf([個数]=0,"",IIf([試食数]=0,"",[個数]/[試食数]))

上記のように入れたところ、%表示及び小数点以下の表示桁数を設定できなくなりました。いい方法を教えて下さい。

A 回答 (4件)

s_husky です。



1、SQL文とは?

買上率: IIf([個数],([個数]-[試食数])/[個数],100)*100

という列をクエリでビルドして[表示]-[SQLビュー]で表示したに過ぎません。

2、小数点以下と%の問題。

買上率: Format(IIf([個数],([個数]-[試食数])/[個数],100),"パーセント")

この場合、SQLビューは、

SELECT ID, 個数, 試食数, format(IIf([個数],([個数]-[試食数])/[個数],100),"0.00%") AS 買上率, *
FROM テーブル1;

となっています。

ID     個数   試食数  買上率
1      100    10    90.00%
2      100     0    100.00%
3      111    11    90.09%

3、Null対策。

format(IIf([個数],([個数]-NZ([試食数]))/[個数],100),"0.00%") AS 買上率

NZ([試食数])で0に置換します。

ですから、3が最適解ということになります。
    • good
    • 2
この回答へのお礼

最終的に
買上率: Format(IIf([個数]=0,"",IIf([試食数]=0,"",[個数]/[試食数])),"パーセント")
の式で0%を表示させることなく、ブランクを作り%表示も出すことが出来ました。
ご協力ありがとうございました。

お礼日時:2006/03/28 11:31

>%表示及び小数点以下の表示桁数を設定できなくなりました


式の中に""を使っているので書式設定が無視されてしまいます。""を使った場合テキスト値と捉えるため数値に使用する書式設定は無視されます。
>0値が入っていると、#Errorが表示
[試食数]に0が入るとエラーになりますので単純に分母に0が入った場合にエラーを回避するだけで済みます。
[試食数]がNullの場合はNullではなく0と表示し0の場合も0と表示させるにはクエリに

買上率:IIf([試食数]=0,0,IIf(IsNull([試食数]),0,([個数])/([試食数])))

上記で回避できます。
    • good
    • 0
この回答へのお礼

最終的に
買上率: Format(IIf([個数]=0,"",IIf([試食数]=0,"",[個数]/[試食数])),"パーセント")
の式で0%を表示させることなく、ブランクを作り%表示も出すことが出来ました。
ご協力ありがとうございました。

お礼日時:2006/03/28 11:32

うーん!どうも、今一、理解できないままの回答です...



ID     個数    試食数 買上率
1      100    10     90
2      100     0    100
3      100    15     85

こういうSQL文ならば、

SELECT ID, 個数, 試食数, IIf([個数],([個数]-[試食数])/[個数],100)*100 AS 買上率, *
FROM テーブル1;

この回答への補足

細かい内容がわからなくて申し訳ないのですが、SQL分というのは、イベントプロシージャの関連のを立ち上げて入れる構文ですか?詳しくなくて、その辺は良くわかりません。また、上記の方法だと、小数点第一位までの表記や%を買上率につけることは出来ますか?ちなみに、ID2の場合は”0”かブランクになります。

補足日時:2006/03/27 23:28
    • good
    • 0

あまり自信はありませんが・・・・



『""』を『0』に変更すれば上手くいくかもしれません。

よければ、一度お試し下さい
    • good
    • 0
この回答へのお礼

ブランクにはなりませんでしたが、エラーや%表示が出来ない分は解決しました。クライアントがこれでいいというので、0%で逃げようかと思っています。ご回答ありがとうございました。

お礼日時:2006/03/27 23:27

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

このQ&Aを見た人はこんなQ&Aも見ています

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


このQ&Aを見た人がよく見るQ&A