Функція CVErr

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

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

Синтаксис

CVErr(номер помилки)

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

Примітки

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

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

Приклад

Примітка.

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

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