Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция по Ms Access.doc
Скачиваний:
92
Добавлен:
19.05.2015
Размер:
1.86 Mб
Скачать

8. Циклы в vba Cтруктура For ….Next

Если заранее известно, сколько раз нужно выполнить операторы в цикле, то можно воспользоваться структурой For …Next

Cинтаксис

For счётчик=начальное_значение to конечное_значение [step приращение]

Операторы

Next [счётчик]

Переменная-счётчик запоминает число повторов, и указываются начальное и конечное значения счётчика. Эти значения и приращение могут быть числовыми значениями или выражениями.

Пример

Вычислить значение функции у=sin(x) при x=2,4,6,8,10 и вывести на экран.

Dim x As Integer, y As Single

For x = 2 To 10 Step 2

y = Sin(x)

MsgBox Str(y)

Next x

Если приращение отрицательно, то цикл начинает работу так же, как и при положительном и выполняет одно из двух действий:

  • Если значение счётчика < конечного значения, то выход из цикла.

  • Если значение счётчика > конечного значения или равно ему, то выполняются операторы цикла и счётчик уменьшается на значение приращения.

Структура For Each … Next

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

С помощью этого цикла можно перебирать все элементы массива или семейства, даже не зная, каково их число.

Синтаксис

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

Операторы

Next [элемент]

Группа-это имя семейства объектов или массива. Для семейства объектов элемент-это переменная, представляющая объект-член семейства. Она должна иметь тип Variant или Object. Перебор элементов выполняется быстрее, так как запоминается номер позиции элемента.

Структура Do… Loop

Структура Do… Loop позволяет повторять группу операторов неопределённое число операторов. Цикл завершается по условию. Условие должно быть выражением, принимающим значения True или False. Существуют четыре разновидности циклов

Do… Loop.

Структура Do While … Loop

Cинтаксис

Do While условие

операторы

Loop

Если условие принимает значение False, то осуществляется выход из цикла, в противном случае работают операторы цикла.

Начало цикла

Условие TrueОператоры

False

Конец цикла

Структура Do ….While Loop

Cинтаксис

Do

Операторы

Loop While условие

Если условие принимает значение False, то осуществляется выход из цикла, в противном случае работают операторы цикла. Отличие от предыдущего в том, что эта структура при любом значении условия отработает всегда хотя бы один раз.

Начало цикла

Операторы

Условие True

False

Конец цикла