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

Инструкция Public

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

Синтаксис:

Public [имя-переменной [ ([<границы-массива>] ,. . .)]-[As [New] тип-данных}},...

<границы-массива> есть

[нижняя-граница То ] верхняя-граница

только в тот период времени, когда открыты соответствующие формы или отчеты

Синтаксис:

Static {имя-переменной [ ({<границы-ыассива>} , .. .)]—» [As [New] тип-данных]},...

где <границы-массиво> есть

[нижняя-граница То ] верхняя-граница

Пояснения:

Вы не можете объявить массив с элементами объектного типа данных. Допускается определение массивов, размерность которых не превышает 60. Если в описание массива не включена нижняя-граница, то по умолчанию она устанавливается равной 0. Вы можете переопределить нижнюю границу, задаваемую по умолчанию, и сделать ее равной 1, если включите в разделе описаний модуля инструкцию Option Base 1. Нижняя-граница должна быть не меньше, чем -32 768, а верхняя-граница — не больше, чем 32 767.

Допустимыми типами данных являются Byte, Boolean, Integer, Long, Currency, Single, Double, Date, String (для строк переменной длины), String * длина (для строк фиксированной длины), Object, Variant и любой из объектных типов, перечисленных ранее в разделе «Типы данных» этой главы. Вы можете также использовать тип данных, определенный ранее с помощью инструкции Type. Ключевое слово New позволяет объявить новый экземпляр объекта в качестве объектной переменной.

Microsoft Access инициализирует объявленные переменные во время компиляции. Числовым переменным присваивается нулевое значение (0); переменные типа Variant получают значения Empty (отсутствие значения); переменные, являющиеся строками переменной длины, инициализируются пустой строкой (строкой нулевой длины); строки фиксированной длины заполняются ANSI-кодами нуля (Chr(O)).

Примеры:

Чтобы объявить статическую переменную с именем intMyInteger как целую,

введите:

Static intMyInteger As Integer

Чтобы объявить статический массив с именем strM у String, который содержит строки фиксированной длины по 20 символов, причем 50 элементов массива пронумерованы от 51 до 100, введите:

Static strMyString (51 То 100) As String * 20

Инструкция Type

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

Синтаксис:

[Public I Private] Type имя-типа {имя-переменной As тип-данных}

End Type

Пояснения:

Инструкция Type особенно полезна, когда нужно объявить набор переменных, которые будут передаваться в процедуры (включая функции Windows API) как одна переменная. Она также применяется для описания структуры записи. После определения специального типа данных имя-muna можно использовать в последующих инструкциях Dim, Public или Static для описания переменных с этим типом данных. При ссылках на переменную со специальным типом данных надо ввести имя этой переменной, затем точку и далее указать нужное имя-переменной из определения структуры данных (см. вторую часть приведенного ниже примера).

Включение ключевого слова Public позволяет описать специальный тип данных, доступный для всех процедур в базе. При использовании ключевого слова Private специальный тип данных будет доступен только внутри модуля, в котором он описан.

При определении специального типа данных вы должны вводить каждое имя-переменной на новой строке. Конец определяемой пользователем структуры данных обозначается с помощью инструкции End Type. Допустимыми типами данных являются Byte, Boolean, Integer, Long, Currency, Single, Double, Date, String (для строк переменной длины), String * длина (для строк фиксированной длины), Object, Variant или другой определенный пользователем тип данных и любой из объектных типов, перечисленных ранее в разделе «Типы данных» этой главы.

Пример:

Чтобы определить специальный тип данных My Record, содержащий длинное целое и три текстовых поля, затем объявить переменную usrContacts с этим типом данных и присвоить первой текстовой переменной значение Jones, введите:

Type MyRecord

IngID As Long strLast As String strFirst As String strMid As String End Type Внутри процедуры введите:

Dim usrContacts As MyRecord usrContacts.strLast = "Jones"

умолчанию семейство в объекте Database. Access предполагает, что [tbIClubs] ссылается на имя объекта в назначаемом по умолчанию семействе базы данных.

Чтобы создать объектную переменную, ссылающуюся на поле Notes в таблице tbIClubs, используя только что определенную переменную tbIMyTable, введите:

Dim fIdMyField As Field Set fIdMyField = tbIMyTable![Notes]