Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие.doc
Скачиваний:
153
Добавлен:
02.05.2014
Размер:
1.63 Mб
Скачать

Работа с управляющими структурами

Вложенные управляющие структуры. Одни управляющие структуры можно помещать внутри других структур (например, блок If...Then внутри цикла For...Next). В этом случае говорят, что управляющая структура, помещенная внутри другой управляющей структуры, является вложенной.

Количество уровней вложения одних структур в другие в Access не ограничено. В практике программирования для повышения читабельности кода текст структур разных уровней вложения, а также тело каждой структуры выделяются отступами.

Выход из управляющих структур. Большинство циклов совершает свою работу до установленного предела, после чего про­цедура следует дальше. Однако часто могут встретиться ситуации, когда требуется выйти из цикла до его завершения. Например, может возникнуть ошибка, обработка которой предусматривает немедленный выход из цикла, без выполнения каких-либо дальнейших итераций или инструкций внутри цикла.

Инструкция Exit позволяет выходить из циклов For и Do (а также из процедур Sub и Function). Синтаксис инструкции Exit прост: Exit For может появляться любое число раз, по мере необходимости, внутри цикла For, a Exit Do может вводиться любое число раз внутри цикла Do:

Инструкция Exit Do работает со всеми версиями синтаксиса цикла Do.

Выход из процедур Sub и Function. Изнутри управляющей структуры можно также покинуть процедуру. Exit Sub и Exit Function полезны, когда процедура выполнила все, что от нее требуется, и может быть немедленно завершена. Синтаксис инструкций Exit Sub и Exit Function подобен синтаксису Exit For и Exit Do. Инструкции Exit Sub и Exit Function могут появляться внутри тела процедур Sub и Function (включая тело циклов) столько раз, сколько это требуется по логике процедуры.

3.3.9. Объекты в Access

Для создания приложения можно использовать объекты, предоставляемые Access, — та­кие, как элементы управления, формы, отчеты, объекты базы данных. В приложении Access можно также использовать объекты других приложений и управлять ими. Каждый объект в Access определяется своим классом.

Объект

Комментарий

Кнопка

Элементы управления в форме, такие как командные кнопки и группы переключателей, являются объектами.

Форма

Каждая форма в приложении Access — отдельный объект.

Объекты данных

Таблицы базы данных — объекты, которые содержат другие объекты, например, поля и индексы.

Диаграмма

Диаграмма Microsoft Graph — объект, доступный в Access.

Все объекты первоначально создаются как идентичные копии соответствующего класса. Однако, как только они созданы как реальные объекты, их свойства могут быть изменены. Например, если в форме размещаются три командные кнопки, каждый из этих объектов — экземпляр класса Кнопка. Все эти объекты совместно используют общий набор характеристик и возможностей (свойства, методы и события), определенный классом. Однако каждый объект имеет собственное имя, может отдельно активироваться и де активироваться, может быть помещен в требуемую позицию на форме и т. д.

Объект (как экземпляр класса) содержит необходимый программный код, который писать уже не требуется.

Объекты Access поддерживают свойства, методы и события. Характеристики объекта можно изменять, изменяя значения его свойств.

Методы, как и свойства, — часть определения объектов. Обычно методы — действия, которые требуется выполнить, в то время как свойства — атрибуты, которые можно устано­вить или получить их значения.

Управление объектами с помощью их свойств. Некоторые свойства могут быть установлены во время разработки. Через окно свойств можно установить значения этих свойств, не прибегая к написанию программного кода. В то же время другие свойства недоступны во время разработки; следовательно, чтобы установить их значения в период выполнения, в программный мо­дуль необходимо ввести код процедуры.

Значение свойства устанавливается, когда требуется изменить вид или поведение объекта. Например, при установке свойства Text объекта Текстовое поле изменяется содержимое этого текстового поля.

Чтобы установить значение свойства в программном коде, используется следующий синтаксис:

объект.свойство = выражение

В большинстве случаев, чтобы получить значение свойства, используется следующий синтаксис:

Переменная = объект.свойство

Использование методов в коде процедур. Методы, помимо решения прочих задач, могут воздействовать на значения свойств. Формат записи инструкций с методом зависит от того, сколько параметров принимает процедура метода и возвращает ли метод значение. Когда метод не требует параметров, используется следующий синтаксис:

объект.метод

Некоторые методы не принимают параметров и не возвращают значений — они только выполняют действие. Если метод требует более одного параметра, параметры отделяются запятыми. Если требуется сохранить возвращаемое значение метода, параметры необходимо заклю­чить в круглые скобки. Если возвращаемого значения нет, параметры указываются без круглых скобок.

Использование операторов ! и . (точка). Операторы ! и . (точка) в выражениях указывают тип элемента, стоящего справа от опера­тора.

Оператор ! указывает, что следующий за ним элемент является элементом, определяемым пользователем. Оператор . (точка) обычно означает, что следующий за ним элемент определен в Microsoft Access. Допускается также использование оператора . (точка) для ссылок на значение поля в инструкции SQL, метод Visual Basic или семейство. Например, идентификатор Forms![Зaкaзы].Controls представляет ссылку на семейство Controls формы Заказы. Однако, поскольку семейство Controls является семейством, используемым для форм и отчетов по умолчанию, обычно нет необходимости ссылаться на него в явном виде.

Некоторые объекты в Access содержат другие объекты. Например, форма обычно содержат один или больше элементов управления.

Создание объектов. Самый простой способ создания объекта — щелкнуть элемент управления в панели эле­ментов и обозначить его на форме или отчете. Однако, чтобы реализовать полный набор возможностей объектов, доступных в Access, и объектов других приложений, необходимо использовать программные возможности Visual Basic для создания объектов в период выполнения. При этом:

• можно создавать ссылки на объекты с помощью объектных переменных;

• можно создавать пользовательские семейства с помощью объекта Collection.

Использование объектных переменных. Использование объектной переменной — подобно использованию стандартной перемен­ной, но с одним дополнительным шагом — объявления переменной как класса объекта:

Сначала объявляется переменная:

Dim переменная As класс_объекта

Затем ей назначается объект:

Set переменная= объект

Объектные переменные объявляются таким же образом, как и любые другие переменные — с помощью инструкций Dim, ReDim, Static, Private или Public. Отличия — необязательное ключевое слово New и параметр класс

Полный синтаксис объявления следующий:

{Dim | ReDim | Static | Private | Public} переменная As [New] класс

Например, можно объявить объектную переменную, которая относится конкретно к форме ГлавнаяФорма:

Dim FormVar As New ГлавнаяФорма ' Объявить объектную ‘переменную типа ГлавнаяФорма.

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

Можно также объявить объектную переменную, которая может содержать ссылку на любую форму в приложении:

Dim anyForm As Form ' Общая переменная формы (класса ‘Form)

Аналогично можно объявить объектную переменную, которая может относиться к любому полю (но только к полю) приложения, так как она имеет тип класса TextBox:

Dim anyText As TextBox

Следующая объектная переменная может содержать ссылку на элемент управления любо­го типа:

Dim anyControl As Control ' Объектная переменная общего типа

Назначение объекта переменной. Объект объектной переменной назначается с помощью инструкции Set:

Set переменная = объект

Иногда объектные переменные, и особенно переменные элементов управления, использу­ются просто в целях сокращения текста кода.

Специальные и общие объектные переменные. Специальные объектные переменные должны относиться только к одному определенному типу объекта или класса. Переменная формы может относиться только к одной форме в приложении (хотя она может обслуживать много экземпляров этой формы). Аналогично специальная переменная элемента управления может относиться только к одному отдель­ному типу элемента управления в приложении, такому как TextBox или ListBox.

Общие объектные переменные могут содержать ссылку на один из многих типов объектов. Общая переменная формы, например, может относиться к любой форме в приложении; общая переменная элементов управления может обслуживать любой элемент управления в любой форме приложения.

В Access имеются такие общие объектные типы: Form (любая форма), Control (любой элемент управления), Object (любой объект).

Общие объектные переменные полезны, когда первоначально неизвестен объект, который будет принимать переменная в период выполнения. Например, если требуется написать код, который может работать с любой формой приложения, необходимо использовать общую переменную типа Form.

Сброс объектных ссылок. Каждый объект использует память и другие системные ресурсы. Хороший стиль программи­рования предполагает освобождение этих ресурсов, когда объект более не используется.

Для выгрузки формы или элемента управления из памяти можно использовать инструкцию Unload. Когда объект выгружается, он удаляется из памяти и вся память, связанная с объектом, возвращается системе. Пока объект опять не помещен в память с помощью инструкции Load, пользователь не может взаимодействовать с ним, и взаимодействие с ним программным образом также невозможно.

Освободить ресурсы, используемые объектной переменной, можно также с помощью клю­чевого слова Nothing. Ключевое слово Nothing используется для прекращения связи объек­тной переменной с любым реальным объектом. Состояние Nothing присваивается объектной переменной с помощью инструкции Set. Например:

Set ИмяОбъекта = Nothing

С одним объектом могут быть связаны несколько объектных переменных. После примене­ния ключевого слова Nothing к объектной переменной связь этой переменной с любым реальным объектом прекращается.

Если указателями одного объекта являются несколько объектных переменных, то память и системные ресурсы, выделенные для объекта, с которым были связаны эти переменные, освобождаются только в том случае, если все эти переменные переходят в состояние Nothing — либо явно с помощью инструкции Set, либо неявно при выходе переменных из области видимости.

Соседние файлы в предмете Базы данных