- •Основы языка Visual Basic for Applications Введение
- •Стандартные модули и модули класса
- •Окно редактора кода vbe
- •Раздел описания
- •Отображение модулей
- •Создание процедуры
- •Основные операторы vba Переменные и оператор присваивания
- •Редактирование в окне модуля
- •Аргументы процедуры
- •‘Пересчет цены в рублях в цену в долларах’
- •Типы данных
- •Математические функции и операторы
- •Логические операторы
- •Ввод данных
- •Вывод данных
- •Условные операторы
- •Операторы цикла
- •Процедура-функция для обработки событий в формах
- •Применение процедур-подпрограмм
- •Выполнение кода vba
- •Инициализация кода
Операторы цикла
Цикл используется для неоднократного повторения одной или нескольких инструкций. Количество повторений цикла связано с некоторым условием. В VBA предусмотрено несколько разновидностей циклов. Простейшим примером использования циклической конструкции — так называемого цикла по счетчику — может служить следующая процедура:
Sub For_цикл()
Dim Счетчик As Integer
For Счетчик = 1 То 10 Print Счетчик
Next Счетчик End Sub
Цикл по счетчику ограничивается ключевыми словами For и Next. После ключевого слова For указывается имя переменной, которая будет выполнять роль счетчика, после знака равенства — начальное значение счетчика, а после ключевого слова То — конечное значение счетчика.
Еще одна разновидность цикла — While-цикл. Условие выполнения команд внутри такого цикла определяется некоторым условным оператором;
Sub Цикл()
Dim Счетчик as Integer
Счетчик=1
Do While Счетчик<>10
Print Счетчик
Счетчик=Счетчик+1
Loop End Sub
В данном случае последовательность операторов между строками While и Loop выполняется девять раз, что определяется истинностью условного выражения, которое следует за ключевым словом While. Выполнение цикла продолжается, пока Счетчик не равен 10. В общем случае цикл Do While выполняется, пока истинно условное выражение, которое следует за ключевым словом While. Разновидностью цикла Do является Until-цикл, который выполняется, пока условное выражение ложно:
Do Until Счетчик=10
Print Счетчик
Счетчик=Счетчик+1
Loop
В этом случае результат тот же, что и в предыдущем примере, но цикл повторяется до тех пор, пока счетчик не достигнет жестко установленного значения — 10.
Процедура-функция для обработки событий в формах
Как правило, процедуры-функции ориентированы на обработку co6ытий. Access позволяет связывать разработанные процедуры-функции с вычисляемым полем несколькими способами (например, можно создать процедуру-функцию, которая будет вызываться при выполнении щелчка на некотором поле, из макроса или из другой процедуры). Способ связывания зависит от типа процедуры-функции.
Результат выполнения процедуры-функции обычно применяется:
— в качестве значения по умолчанию для поля таблицы;
— в качестве значения критерия для запросов или фильтров;
— в качестве содержимого поля.
В рассматриваемом примере используется процедура, вызываемая формы GoodsPrice. Так как пересчет цен будет происходить после ввода значений цен в рублях, вызов процедуры должен осуществляться после актуализации поля Price;
• Откройте форму GoodsPrice в режиме конструктора.
• Маркируйте поле Price и откройте окно свойств формы, активизировав в ее контекстном меню команду Свойства.
• На вкладке События выберите поле После обновления и нажмите кнопка с тремя точками, расположенную справа от поля После обновления. В результате на экране появится диалоговое окно Построитель, которое служит для выбора варианта создания выражений, макросов или программного кода. Остановим выбор на Программы.
Откроется модуль формы в редакторе VBA. Остается ввести вызов функции — RubleDollar(29), сохранить изменения и закрыть редактор VBA.
Проверьте, как работает введенная функция.
С этого момента каждое значение, введенное в поле Price, будет автоматически пересчитано и занесено в поле PriceD. Пересчет выполняется и после изменения текущего значения цены в рублях.
