Access FormatPercent関数は100 で乗算し、パーセント記号 (%) を付けた文字列に変換します。
■ 構文
FormatPercent(Expression[,NumDigitsAfterDecimal [,IncludeLeadingDigit [,UseParensForNegativeNumbers
[,GroupDigits]]]])
Expression :(必須) 変換する式を指定します。
NumDigitsAfterDecimal :(省略可) 小数点以下の桁数を数値で指定します。既定値は -1 で、[地域のプロパティ] の値になります。
IncludeLeadingDigit :(省略可) 小数点の左側のゼロを表示するかどうかを表す定数を指定します。
UseParensForNegativeNumbers :(省略可) 負の値をかっこで囲むかどうかを表す定数を指定します。
GroupDigits :(省略可) [地域のプロパティ] で指定されている桁区切り記号で区切るかどうかを定数で指定します。
■ IncludeLeadingDigit / UseParensForNegativeNumbers / GroupDigits の定数
vbTrue : -1 真 (True)
vbFalse : 0 偽 (False)
vbUseDef : -2 [地域のプロパティ] の設定値を使用
■ 戻り値
パーセント計算をし、% を付けた文字列が返ります。
■ Access実行画面
上の粗利益率(初期値)では、Expression以外の引数を設定していません。
結果、小数点以下第2位までとなっています。
下の粗利益率(小数点なし)では、NumDigitsAfterDecimal に0を設定しています。
小数点以下は四捨五入されています。
■ Access VBA 実行コード
Option Compare Database
Private Sub コマンド0_Click()
Dim n As Long
Dim rs As Recordset
'テキストボックスのクリア
'粗利益率を初期値で表示
Set rs = CurrentDb.OpenRecordset("商品マスター")
Me!テキスト5 = "■粗利益率(初期値)" & vbNewLine
Do Until rs.EOF
Me!テキスト5 = Me!テキスト5 & " 利益:" & rs("利益") & " 売上:" & rs("売上") & " → " & _
FormatPercent(rs("利益") / rs("売上")) & vbNewLine
rs.MoveNext
Loop
Set rs = Nothing
Me!テキスト5 = Me!テキスト5 & vbNewLine
'粗利益率を少数点なしで表示
Set rs = CurrentDb.OpenRecordset("商品マスター")
Me!テキスト5 = Me!テキスト5 & "■粗利益率(少数点なし)" & vbNewLine
Do Until rs.EOF
Me!テキスト5 = Me!テキスト5 & " 利益:" & rs("利益") & " 売上:" & rs("売上") & " → " & _
FormatPercent(rs("利益") / rs("売上"), 0) & vbNewLine
rs.MoveNext
Loop
Set rs = Nothing
End Sub