CVErr 関数

適用先
Access for Microsoft 365 Access 2021 Access 2019 Access 2016

ユーザーによって指定されたエラー番号を含むサブタイプ Error のバリアント型 (Variant) の値を返します。

構文

CVErr(errornumber)

必要な errornumber引数は、任意の有効なエラー番号です。

解説

ユーザーが作成したプロシージャでユーザー定義のエラーを作成するには、CVErr 関数を使用します。 たとえば、複数の引数を使用し、通常は文字列を返す関数を作成する場合、関数で入力引数を評価して、値が許容範囲内になるようにすることができます。 そうしないと、関数が期待どおりの値を返さない可能性が高くなります。 この場合、CVErr を使用すると、エラー番号が返されるので、対処方法を判断できます。

Error の暗黙的な変換は許可されません。 たとえば、 CVErr の戻り値を Variant ではない変数に直接割り当てることはできません。 ただし、CVErr によって返される値の明示的な変換 (CIntCDbl などを使用) を実行し、それを適切なデータ型の変数に割り当てることができます。

使用例

次の例は、Visual Basic for Applications (VBA) モジュールでのこの関数の使用方法を示しています。 VBA の使用方法の詳細については、[検索] の横にあるドロップダウン リストで [開発者用リファレンス] を選び、検索ボックスに検索する用語を入力します。

この例では、CVErr 関数を使用して VarTypevbError (10) の Variant を返します。 渡された引数が数値でない場合、ユーザー定義関数 CalculateDouble はエラーを返します。 CVErr を使用して、ユーザー定義プロシージャからユーザー定義エラーを返すか、ランタイム エラーの処理を保留することができます。 IsError 関数を使用して、値がエラーを示すかどうかをテストします。

' Call CalculateDouble with an error-producing argument.
Sub Test()
    Debug.Print CalculateDouble("345.45robert")
End Sub
' Define CalculateDouble Function procedure.
Function CalculateDouble(Number)
    If IsNumeric(Number) Then
        CalculateDouble = Number * 2    ' Return result.
    Else
        CalculateDouble = CVErr(2001)    ' Return a user-defined error 
    End If    ' number.
End Function