FormatCurrency関数:Access

Access FormatCurrency関数はコントロールパネルの「地域のプロパティ」で定義されている書式を使い、通貨形式の文字列を返す関数です。

BackHome BackAccess関数


■ 構文
FormatCurrency(Expression[,NumDigitsAfterDecimal [,IncludeLeadingDigit [,UseParensForNegativeNumbers [,GroupDigits]]]])

■ 引数
Expression : (必須) 書式を変換する式を指定します。
NumDigitsAfterDecimal : (省略可) 小数点以下に表示する桁数を表す数値を指定
IncludeLeadingDigit : (省略可) 小数点の左側のゼロを表示するかどうかを表す下記定数を指定
UseParensForNegativeNumbers : (省略可) 負の値をかっこで囲むかどうかを表す下記定数を指定
GroupDigits : (省略可) 「地域のプロパティ」の桁区切り記号を使用し、数値を区切るかどうかを表す下記定数を指定

定数
vbTrue ( -1 真 [True] )
vbFalse ( 0  偽 [False] )
vbUseDefault ( -2 「地域のプロパティ」 の設定値を使用)
■ 戻り値
通貨形式の文字列を返します。

■ 実行後の画面
製品マスターテーブルの単価を表示します。¥マーク付きの3桁区切りで通貨表示されています。
Whileループで全レコードを変換しています。
テキストボックスの空白行の次は、小数点以下2桁表示に設定し変換しています。
FormatCurrency実行フォーム

コントロールパネルの「地域のオプションのカスタマイズ」で通貨記号を「$」に変更し、FormatCurrencyを実行させてみます。
地域のオプション設定画面

通貨記号を「$」に変更した結果です。変更されているのが分かります。
FormatCurrency関数

■ 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("単価") & " → " & FormatCurrency(rs("単価")) & vbNewLine
        rs.MoveNext
    Loop
    '小数点以下2桁で単価を表示
    Me!テキスト5 = Me!テキスト5 & vbNewLine & vbNewLine
    rs.MoveFirst
    Do Until rs.EOF
        Me!テキスト5 = Me!テキスト5 & rs("単価") & " → " & FormatCurrency(rs("単価"), 2) & vbNewLine
        rs.MoveNext
    Loop
    rs.MoveFirst
    Set rs = Nothing
    End Sub

BackHome BackAccess関数

Copyright(C) FeedSoft