SQL = " SELECT CCUR(フィールド名) FROM テーブル名 "
又は、
SQL = " SELECT CCUR(フィールド名) AS 名前 FROM テーブル名 "
Set rs = CurrentDb.OpenRecordset(SQL)
CCUR で文字列を通貨型 (Currency)に変換することができます。
通貨型は、-922,337,203,685,477.5808 ~ 922,337,203,685,477.5807 の範囲の数値になります。
文字列が数値として扱えない場合、「抽出条件でデータ型が一致しません」のエラーが発生します。
文字列が通貨型の範囲を超える場合、「オーバーフロー」のエラーが発生します。
例: SQL = " SELECT CCUR(金額) FROM 売上書式 "
売上書式テーブルの金額フィールドを通貨型として取得します。
  
サンプルソフト
    [実行時の画面]
「文字列を通貨型に変換する(Currency) CCUR関数」ボタンをクリックすると、
変換結果を右枠に表示します。
■実行画面
[サンプルデータ テーブル]
データID    文字
10   1
11   2
13 15.6
16    386.5678
17    -20.788
18 100
 
[コード]
    Option Compare Database
Private Sub コマンド8_Click()
    Dim SQL As String
    Dim rs As Recordset
    Me!テキスト1 = "文字列" & vbCrLf
    Me!テキスト2 = "数値" & vbCrLf
    SQL = "SELECT 文字,CCUR(文字) FROM サンプルデータ"
    Set rs = CurrentDb.OpenRecordset(SQL)
    Do Until rs.EOF
        Me!テキスト1 = Me!テキスト1 & rs(0) & vbCrLf
        Me!テキスト2 = Me!テキスト2 & rs(1) & vbCrLf
        rs.MoveNext
    Loop
    Set rs = Nothing
End Sub
[変換できない場合のエラー]
文字を変換しようとした場合に発生したエラー
「実行時エラー 3464 抽出条件でデータ型が一致しません。」
NULLを変換しようとした場合に発生したエラー
「実行時エラー 94 Null文字の使い方が正しくありません。」
通貨型( -922,337,203,685,477.5808 ~ 922,337,203,685,477.5807 )を超える文字を変換しようとした場合に発生したエラー
「実行時エラー 6 オーバーフロー
    
サンプルソフトのダウンロード