Funktionen CVErr

Gäller för
Access för Microsoft 365 Access 2021 Access 2019 Access 2016

Returnerar en variant av undertypen Fel som innehåller ett felnummer som anges av användaren.

Syntax

CVErr(felnummer)

Det obligatoriska argumentet errornumberär ett giltigt felnummer.

Kommentarer

Använd CVErr-funktionen för att skapa användardefinierade fel i procedurer som skapats av användare. Om du till exempel skapar en funktion som accepterar flera argument och normalt returnerar en sträng, kan du låta funktionen utvärdera indataargumenten för att säkerställa att de ligger inom ett godtagbart intervall. Om de inte är det är det troligt att funktionen inte returnerar det du förväntar dig. I så fall kan CVErr returnera ett felnummer som anger vilken åtgärd som ska vidtas.

Observera att implicit konvertering av ett fel inte är tillåtet. Du kan till exempel inte tilldela returvärdet för CVErr direkt till en variabel som inte är en variant. Du kan emellertid utföra en explicit konvertering (med hjälp av CInt, CDbl och så vidare) av värdet som returneras av CVErr och tilldela det till en variabel av lämplig datatyp.

Exempel

Obs

I exemplen nedan visar vi hur du använder den här funktionen i en Visual Basic for Applications-modul (VBA). Om du vill läsa mer om hur man använder VBA, kan du välja Info för utvecklare i listrutan bredvid Sök och sedan skriva en eller flera söktermer i sökrutan.

I det här exemplet används funktionen CVErr för att returnera en Variant vars VarType är vbError (10). Den användardefinierade funktionen CalculateDouble returnerar ett fel om argumentet som skickas till den inte är ett tal. Du kan använda CVErr för att returnera användardefinierade fel från användardefinierade procedurer eller skjuta upp hanteringen av körningsfel. Använd funktionen ÄrFel för att testa om värdet representerar ett fel.

' 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