Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Модули Access.docx
Скачиваний:
9
Добавлен:
24.09.2019
Размер:
61.72 Кб
Скачать

Инструкция For... Next

Инструкция For... Next позволяет выполнить последовательность инструкции определенное число раз.

Синтаксис:

For счетчик = начальное-значение То конеуное-знауение[81ер шаг]

[<инструкции-тела-цикла>]

[Exit For]

[<инструкции-тела-цикла>] Next [счетчик]

Пояснения:

Счетчик должен быть числовой переменной, не являющейся элементом массиве или записи. Счетчику первоначально присваивается начальное-значение. Еслг в инструкции не указан шаг, то по умолчанию он будет равен +/. Если шаг имее1 положительное или пулевое значение, то VBA выполняет тело цикла до тех пор пока значение счетчика не превысит конечное-значение. При отрицательном значении шага инструкции тела цикла выполняются до тех пор, пока значение счетчика не станет меньше конечного-значения. Когда при выполнении цикле встречается предложение Next, к значению счетчика добавляется шаг. Внутр» цикла For... Next можно изменять значение счетчика, но при этом процедура будет значительно труднее проверить и отладить. Изменение конечного-значенш внутри тела цикла не влияет на выполнение инструкции.

Циклы For могут быть вложенными, но при этом имена переменных счетчш во вложенных циклах не должны повторяться.

Пример:

Чтобы в окне отладки вывести имена первых пяти запросов в базе данныз Entertainment Schedule, введите:

Dim dbEntSched As Database Dim inti As Integer Set dbEntSched = CurrentDbO For inti = 0 To 4

Debug.Print dbEntSched.QueryDefs(inti).Name Next inti

Инструкция For Each... Next

Инструкция For Each... Next позволяет выполнить блок инструкций процедурь для каждого элемента массива или семейства.

For Each элемент In группа

[<инструкции-тела-цикла>]

[Exit For]

[<инструкции-тела-цикла>] Next [элемент]

Пояснения:

Элемент — это переменная, представляющая объекты семейства или элементы массива, а группа — это имя семейства или массива. Цикл выполняется до тех пор, пока в семействе или массиве остается хотя бы один элемент. Все инструкции в теле цикла выполняются для каждого элемента семейства или массива.

Циклы For Each могут быть вложенными, но имена переменных элемент во вложенных циклах не должны повторяться.

Пример:

Для вывода списка всех запросов в базе данных Entertainment Schedule можно использовать следующий цикл For Each:

Dim dbEntSched As Database

Dim qdf As QueryDef

Set dbEntSched = CurrentDbO

For Each qdf In dbEntSched.QueryDefs

Debug.Print qdf.Name Next qdf

Инструкция GoTo

Инструкция GoTo используется для выполнения безусловного перехода к другой инструкции в процедуре.

Синтаксис:

GoTo { метка | номер-строки}

Пояснения:

Вы можете пометить строку процедуры, содержащую инструкцию, поместив в начале строки начинающуюся с буквы символьную метку длиной не более 40 символов и заканчивающуюся двоеточием (:). Метка строки не должна совпадать с зарезервированным словом VBA или Microsoft Access. Вы можете также пронумеровать строки процедуры. Каждый номер строки должен содержать только цифры и отличаться от всех других номеров строк в данной процедуре;

перед ним в строке могут быть только пробелы, а длина номера не должна превышать 40 символов. Чтобы перейти к определенной строке процедуры, используйте инструкцию GoTo и укажите в ней нужную метку или номер-строки.

Пример:

Чтобы перейти к строке с меткой SkipOver, введите:

GoTo SkipOver