Microsoft Access Club >SampleFile Q & A >インデックス >このページ >次頁 < 前項  サイト内検索


Q&A-016 ある条件下における小数点以下の取り扱い例



タイトル : 教えてください。
記事No : 7484
投稿日 : 2003/05/19(Mon) 12:02
投稿者 : おのっぴ

OS:win2000pro
Access Version:2000

初心者なのですがどなたか教えてください。小数点の表示の方法がわかりません。

10以下ならば下2桁表示、それ以外は整数表示にしたいのですが。
それとあるフィールドの値が"整数"の時は整数表示にもしたいのですが・・・


タイトル : Re: 何処に・・?
記事No : 7560
投稿日 : 2003/05/20(Tue) 09:55
投稿者 : おのっぴ

ご返答ありがとうございます。表示場所ですがテーブルに表示させようと・・・

フィールド1が”種類” 
フィールド2が”値 ”
で”種類”によって小数点2桁表示、整数表示にしたいのですが。


>10以下ならば下2桁表示、それ以外は整数表示にしたいのですが。それとあるフィールドの値が"整数"の時は整数表示にもしたいのですが・・・

これを実現するためには、テーブルデータの加工をクエリで行う必要があります。そして、お決まりのように、VBAをクエリフィールドに配置します。

プロシージャを作成すると、下記のようになります。

 

Function Sample(DblA As Double, DblB As Double)

    Const C = 10 '定数を定義します。
    
    If DblA < C Then
        Sample = Fix(DblA * 10 ^ Abs(2)) / 10 ^ Abs(2) '小数点以下2位まで(小数点3位を切り捨て)
        
        If DblB - Fix(DblB) = 0 Then 'DblBが整数であれば
            Sample = Fix(DblA / 10 ^ Abs(0)) * 10 ^ Abs(0) '整数表示(小数点1位を切り捨て)
        End If
    
    Else
        Sample = Fix(DblA / 10 ^ Abs(0)) * 10 ^ Abs(0) '整数表示(小数点1位を切り捨て)
    End If
                    
End Function

 

このプロシージャは、マイナス値にも対応しています。

一応、切り捨てとして作成していますが、四捨五入なら下記のプロシージャをご利用下さい。但し、この件では、下記のページも参考にしてくださいね。

SampleFile--106.数値を指定位置で四捨五入・5の倍数に切り上げする方法

 

Function TEST(DblA As Double, DblB As Double)

    Const C = 10 '定数を定義します。
    
    If DblA < C Then
        TEST = Format(DblA, "0.00") '小数点以下2位まで(小数点3位を四捨五入)
        
        If DblB - Fix(DblB) = 0 Then 'DblBが整数であれば
            TEST = Format(DblA, "0") '整数表示(小数点1位を四捨五入)
        End If
    Else
        TEST = Format(DblA, "0") '整数表示(小数点1位を四捨五入)
    End If
                
End Function

 

データを表示させるために、クエリを作成します。そして、新しいフィールド--改(切り捨て)--を下記のように新規作成し、上記のプロシージャを配置します。

 

 

ID 数値A 数値B 改(切り捨て)
1 12.3699 2 12
2 9.99 2.69 9.99
3 5.5944 5 5
6 25 2.78 25
7 30 5 30
8 9.13 7 9
9 -2.36 5.1 -2.35
10 -9 -2 -9
11 -14.3652 -5.6 -14.36

 

 

2003/05/20


Q&A-016 ある条件下における小数点以下の取り扱い例


 

-Microsoft Access Club-