Access FormatNumber関数はコントロールパネルの「地域のプロパティ」で定義されている書式を使い、数値形式の文字列を返す関数です。
■ 構文
FormatNumber(Expression[,NumDigitsAfterDecimal [,IncludeLeadingDigit [,UseParensForNegativeNumbers
[,GroupDigits]]]])
■ 引数
Expression : (必須) 書式を変換する数値を指定します。
NumDigitsAfterDecimal : (省略可) 小数点以下に表示する桁数を表す数値を指定
IncludeLeadingDigit : (省略可) 小数点の左側のゼロを表示するかどうかを表す定数を指定
UseParensForNegativeNumbers : (省略可) 負の値をかっこで囲むかどうかを表す定数を指定
GroupDigits : (省略可) [地域のプロパティ] で指定されている桁区切り記号を使用して、数値を区切るかどうかを表す定数を指定
IncludeLeadingDigit、UseParensForNegativeNumbers、GroupDigits の定数
定数 値 説明
vbTrue : (-1) 真 (True)
vbFalse : ( 0 ) 偽 (False)
vbUseDef : (-2) [地域のプロパティ] の設定値を使用します。
■ 戻り値
数値形式の文字列を返します。
■ Access実行画面
商品マスターの重量を変換します。
上側がExpression以下を省略した結果です。
下側が小数点以下を0桁にした結果です。
四捨五入されていることが分かります。
■ Access VBA 実行コード
Option Compare Database
Private Sub コマンド0_Click()
Dim n As Long
Dim rs As Recordset
'テキストボックスのクリア
Me!テキスト5 = ""
'重量を表示
Set rs = CurrentDb.OpenRecordset("商品マスター")
Do Until rs.EOF
Me!テキスト5 = Me!テキスト5 & rs("重量") & " → " & FormatNumber(rs("重量")) & vbNewLine
rs.MoveNext
Loop
'小数点以下を0桁で重量を表示
Me!テキスト5 = Me!テキスト5 & vbNewLine & vbNewLine
rs.MoveFirst
Do Until rs.EOF
Me!テキスト5 = Me!テキスト5 & rs("重量") & " → " & FormatNumber(rs("重量"), 0) & vbNewLine
rs.MoveNext
Loop
rs.MoveFirst
Set rs = Nothing
End Sub