Функція Eval використовується для обчислення виразу, результатом якого може бути рядок або числове значення.
Ви можете скласти рядок і передати її функції Eval точно так же, як якщо б цей рядок був справжнім вираженням. Функція Eval обчислює строкове вираження і повертає його значення. Наприклад, Eval ( "1 + 1") повертає 2.
Якщо в функцію Eval передати рядок, що містить ім'я іншої функції, функція Eval поверне значення, що повертається цією функцією. Наприклад, Eval ( "Chr $ (65)") повертає значення "A".
Примітка: У прикладах нижче показано, як використовувати цю функцію в модулі Visual Basic для додатків (VBA). Щоб отримати додаткові відомості про роботу з VBA, виберіть Довідник розробника в списку поряд з полем Пошук і введіть одне або кілька слів у поле пошуку.
Примітка: Якщо ви вказуєте в аргументі строковое_вираженіе функції Eval ім'я іншої функції, необхідно ставити після нього в дужки. наприклад:
Debug.Print Eval ( "StrComp (" "Joe" "," "joe" ", 1)")
Функцію Eval можна використовувати в елементі управління форми або звіту, а також в макросі або модулі. Функція Eval повертає значення Variant строкового або числового типу.
Аргументом строковое_вираженіе має бути вираз, збережене в рядку. Якщо функції Eval передати рядок, яка містить тільки текст, а не числовий вираз або ім'я функції, виникне помилка під час виконання. Наприклад, виконання функції Eval ( "Smith") призведе до помилки.
За допомогою функції Eval можна визначити значення, що зберігається у властивості Значення елемента управління. У наступному прикладі в функцію Eval передається рядок, що містить повне посилання на елемент керування. У діалоговому вікні буде відображатися поточне значення елемента управління.
Функція Eval дає можливість застосовувати оператори виразів, неприпустимі в модулях Visual Basic для додатків (VBA). Наприклад, в коді програми можна використовувати безпосередньо оператори SQL Between. And або In. але їх можна використовувати в вираженні, переданому в функцію Eval.
У наступному прикладі визначається, чи є значення елемента управління ShipRegion (Регіон доставки) у формі Orders (Замовлення) одним із заданих кодів регіонів. Якщо поле містить одне з таких позначень, змінна intState прийме значення True (-1). Зверніть увагу, що для включення одного рядка в іншу потрібно використовувати одинарні лапки ( ').
У наступному прикладі передбачається, що є 50 функцій, позначених A1, A2 і т. Д. Функція Eval використовується для послідовного виклику цих функцій.
У наступному прикладі запускається подія Натискання кнопки. що рівнозначно натискання користувачем кнопки в формі. Якщо значення властивості OnClick кнопки починається зі знака рівності (=), що вказує на те, що це ім'я функції, функція Eval викликає відповідну функцію. Це рівнозначно запуску події Натискання кнопки. Якщо значення властивості не починається зі знака рівності, то це ім'я макросу. Макрос з вказаним ім'ям буде запущений за допомогою методу RunMacro об'єкта DoCmd.