Функція CVErr

Застосовується до
Access для Microsoft 365 Access 2021 Access 2019 Access 2016

Повертає варіант помилки підтипу, що містить номер помилки, указаний користувачем.

Синтаксис

CVErr(код помилки)

Обов'язковим аргументом номер_помилкиє будь-який дійсний номер помилки.

Примітки

Використовуйте функцію CVErr для створення помилок користувача в процедурах, створених користувачем. Наприклад, якщо створюється функція, яка приймає кілька аргументів і зазвичай повертає рядок, можна попросити функцію обчислити вхідні аргументи, щоб переконатися, що вони перебувають у прийнятному діапазоні. Якщо ні, імовірно, функція поверне не те, що очікувалося. У цьому випадку CVErr дозволяє повернути номер помилки, який вказує, яку дію виконати.

Зауважте, що неявне перетворення помилки заборонено. Наприклад, ви не можете безпосередньо призначити значення, що повертає CVErr, змінній, яка не є варіантом. Однак ви можете виконати явне перетворення (за допомогою CInt, CDbl тощо) значення, повернутого CVErr, і призначити його змінній відповідного типу даних.

Приклад

Примітка.

У прикладах нижче показано використання цієї функції в модулі Visual Basic for Applications (VBA). Щоб отримати докладні відомості про використання модуля VBA, клацніть пункт Довідник розробника в розкривному списку поряд із полем Пошук і введіть у поле пошуку принаймні один термін.

У цьому прикладі функцію CVErr використано, щоб повернути варіант, тип змінної якого – vbError (10). Користувацька функція 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