Каждый объект или семейство имеют определенный набор методов, которые могут быть выполнены. Примеры некоторых методов формы : Refresh – обновляет все поля в основном источнике записей с изменениями, сделанными в форме, Set Focus – активизирует указанную форму или элемент управления.
Многие методы имеют аргументы, позволяющие уточнить, как они должны действовать на объект. Например, при применении метода OpenRecordset к таблице вы можете создать динамический, или обновляемый, набор записей (Dynaset) либо статический набор записей, позволяющий только просматривать данные.
После открытия набора записей для перехода к нужной записи можно использовать методы Move (MoveFirst, MoveLast, MoveNext, MovePrevious).
Для перехода к определенной строке, удовлетворяющей заданным критериям, используется один из методов Find (FindFirst, FindLast, FindNext, FindPrevious).
Область определения переменной (или константы) определяет, известна ли она только одной процедуре, всем процедурам в модуле или всем процедурам в базе данных. Для объявления общей переменной используйте инструкцию Public в разделе описаний модуля. Чтобы переменную можно было использовать во всех процедурах некоторого модуля, объявите ее в разделе описаний стандартного модуля или модуля формы или отчета. Переменная или константа, описанная в процедуре, доступна только в этой процедуре.
Инструкция Constиспользуется для объявления констант.
[Public / Private]Const{имя константы [As тип данных]=<константное выражение>}
Инструкция Dimиспользуется для объявления переменной или массива переменных.
Dim [WithEvents ] {имя переменной [([<индекс>],…)] [As [New] тип данных]},…
где <индекс> есть [нижняя граница То] верхняя граница.
Ключевое слово New указывает, то объявляемая объектная переменная является новым экземпляром объекта. Ключевое слово WithEvents применяется в модуле класса для указания объектной переменной, использующейся при отклике на события, гнерируемые объектом ActiveX.
Для объявления переменной как объекта типа Database введите
Dim mydb As Database
Следующая инструкция описывает массив, содержащий строки фиксированной длины по 20 символов, причем 50 элементов массива пронумерованы от 51 до 100
Dim mymassiv (51 To 100) As String * 20
Инструкция Setиспользуется для присваивания значения объектной переменной.
Set имя переменной = ссылка на объект
Чтобы создать переменную, ссылающуюся на текущую базу данных, введите
Dim mydb As Database
Set mydb = CurrentDb()
Чтобы создать переменную, ссылающуюся на таблицу Клиенты в текущей базе данных, используя только что определенную переменную mydb, введите
Dim myTab As TableDef
Set myTab = mydb![Клиенты]
Чтобы создать переменную, ссылающуюся на поле Название таблицы Клиенты, введите
Dim myPole As Field
Set myPole = myTab![Название]
Ссылки на формы или отчеты можно делать только когда они открыты. Access использует коллекции Forms и Reports (множества открытых форм и отчетов), чтобы сохранить путь, из которого открываются соответствующие формы и отчеты. Коллекцию необходимо указывать, т. к. Access позволяет использовать одно и то же имя для формы и для отчета. Объекты Form и Report имеют свойства. Пример ссылки на свойство Источник записей формы Товары :
Forms![Товары].RecordSourсe
Чтобы установить значение свойства формы в собственном модуле класса формы, используйте идентификатор Me – ссылку на самого себя :
Me. RecordSourсe
Чтобы сослаться на элемент управления Код товара формы Товары, введите :
Forms![Товары]![КодТовара]
Ссылки на подчиненные формы и отчеты
Ссылка на подчиненную форму Заказанный товар в форме Заказы будет иметь вид :
Forms![Заказы]![Заказанный товар]
Для ссылки на свойство Вывод на экран рассмотренной выше подчиненной формы введите выражение :
Forms![Заказы]![Заказанный товар].Visible
Для ссылки на элемент управления Код товара подчиненной формы Заказанный товар, внедренной в форму Заказы, будет иметь вид :
Forms![Заказы]![Заказанный товар].Form![Код товара]
В VBA имеется два типа процедур : функции (процедуры Function) и подпрограммы (процедуры Sub). Процедуры обоих типов могут иметь аргументы – переменные, с помощью которых передаются значения, определяющие работу процедуры при конкретном вызове. Функции можно выполнять из любого места в Access, в том числе из выражений в запросах, а подпрограмму можно выполнять только при вызове из функции, из другой подпрограммы или как процедуру обработки события в форме или отчете.
Объект DoCmd
Например, чтобы открыть форму Клиент для ввода данных в режиме формы, введите :
DoCmd.OpenForm “Клиент”, acNormal , , , acAdd
Закрыть форму Клиент можно с помощью инструкции:
DoCmd. Close acForm, “Клиент”
Иногда имена форм и отчетов в процедурах удобно заменять строковыми переменными. Например, существует кнопочная форма, из которой вызываются другие формы. Для вызова форм используется одна повторяющаяся процедура, в которую через аргументы передаются имена форм.
Стандартный модуль в этом случае выглядит:
Public Function Открыть(strFormName As String) As Integer
Screen.ActiveForm.Visible=False
DoCmd.OpenForm strFormName
End Sub
Объект Screen ссылается на конкретную форму, отчет или элемент управления. Применяя объект Screen, можно ссылаться на активный объект, не зная его имени.
Можно заменить объект Screen объектом Me, если приведенная выше процедура используется только в одной форме (Ме.Visible=False).
При вызове этой процедуры в свойстве события Нажатие кнопки нужно ввести имя процедуры с именем конкретной формы : = Открыть(“Заказы”).
Использование функции DLookup
Функция DLookup выполняет поиск информации в еще не открытых таблицах. Синтаксис:
DLookup("[Поля, которые нужно отобразить]","[Таблица представления]","<Критерий поиска>"),
где Таблица представления - таблица, в которой находятся искомые поля.
Критерий поиска имеет следующий формат :
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.