Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
gotovye_shpory5.doc
Скачиваний:
6
Добавлен:
28.10.2018
Размер:
151.04 Кб
Скачать

42.Работа с макросами. Способы создания. Присвоение макросам кнопок или сочетание клавиш. Запись и редактирование. Проверка работы. Просмотр текста в редакторе Visual Basic.

Создание макроса.

1.В окне базы данных нажмите кнопку Макросы в списке Объекты.

2.На панели инструментов окна базы данных нажмите кнопку Создать.

3.Добавьте в макрос макрокоманду.

Инструкции

4.Чтобы добавить дополнительные макрокоманды в макрос, перейдите на другую строку макрокоманды и повторите шаг 3. В Microsoft Access макрокоманды выполняются в порядке их ввода.

Создание группы макросов

Для того, чтобы объединить несколько родственных макросов, можно создать группу макросов. Работать с группой часто оказывается удобнее, чем с несколькими отдельными макросами.

1.В окне базы данных нажмите кнопку Макросы в списке Объекты.

2.На панели инструментов окна базы данных нажмите кнопку Создать.

3.Нажмите кнопку Имена макросов на панели инструментов, если она еще не выбрана.

4.Введите в ячейку столбца Имя макроса имя первого макроса группы макросов.

5.Введите макрокоманды, выполняемые в первом макросе.

Инструкции

6.Повторите шаги 4 и 5 для всех остальных макросов, которые нужно включить в группу.

Сочетания клавиш.

Допускается связывание макрокоманды или набора макрокоманд с конкретной клавишей или сочетанием клавиш с помощью специальной группы макросов AutoKeys. После этого при нажатии клавиши или сочетания клавиш Microsoft Access будет выполнять данную макрокоманду. Если макрокоманда связывается с сочетанием клавиш, которое уже используется в Microsoft Access (например, CTRL+C - сочетание клавиш для команды Копировать), то новое назначение макрокоманд на это сочетание клавиш заменит стандартное назначение команд Microsoft Access.

1.В окне базы данных нажмите кнопку Макросы в списке Объекты.

2.Нажмите кнопку Создать.

3.Нажмите кнопку Имена макросов на панели инструментов.

4.Укажите в ячейке столбца Имя макроса клавишу или сочетание клавиш, с которыми нужно связать макрокоманду или набор макрокоманд.

Синтаксис сочетаний клавиш AutoKeys

5.Добавьте в макрос макрокоманду или набор макрокоманд, которые должны выполняться при нажатии указанной клавиши или сочетания клавиш. Например, можно выбрать макрокоманду «ЗапускМакроса» (RunMacro), которая будет запускать макрос «Печать текущей записи» при нажатии клавиш CTRL+П.

6.Повторите шаги 4 и 5 для каждого нового сочетания клавиш.

7.Сохраните группу макросов под именем AutoKeys.

Новые сочетания клавиш вступят в действие сразу после сохранения макроса и будут доступны при каждом открытии базы данных.

Открытие окна макроса или редактора Visual Basic.

В режиме конструктора формы или отчета выполните одно из следующих действий.

1.Дважды щелкните область выделения формы или область выделения отчета, чтобы открыть окно свойств формы или отчета.

3.Дважды щелкните область выделения раздела, чтобы открыть окно свойств раздела.

Убедитесь, что нужный элемент управления выделен, и нажмите кнопку Свойства на панели инструментов.

4.Нажмите кнопку Построить рядом с ячейкой соответствующего свойства события. Например, если требуется создать макрос или процедуру обработки события, которые будут запускаться при нажатии кнопки в форме, нажмите кнопку Построить рядом с ячейкой свойства кнопки Нажатие кнопки (OnClick).

5.Выберите в списке элемент Макросы, чтобы открыть окно макроса, или элемент Программы, чтобы открыть окно программы в редакторе Visual Basic.

Примечание. Для просмотра всех программ, определенных для формы или отчета, выберите в меню Вид команду Программа.

После создания макроса его можно изменить при необходимости.

Добавление макрокоманды в макрос

В окне макроса выберите первую пустую строку в столбце Макрокоманда. Чтобы вставить макрокоманду между двумя строками макрокоманд, выберите область выделения строки макрокоманды, перед которой требуется вставить новую макрокоманду, и нажмите кнопку Вставить строку на панели инструментов.

В ячейке столбца Макрокоманда нажмите кнопку раскрытия списка макрокоманд.

Выберите имя макрокоманды.

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

Введите текст комментария к макрокоманде (необязательный).

Изменение положения макрокоманды в макросе

В окне макроса щелкните область выделения строки макрокоманды.

Еще раз щелкните область выделения строки и перетащите строку в новое положение.

Отображение или скрытие имен и условий макросов

Для одного макроса

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

Для того чтобы отобразить или скрыть столбец Условие, нажмите кнопку Условия на панели инструментов.

Для всех макросов по умолчанию

Изменение в Microsoft Access параметров отображения по умолчанию столбцов Имя макроса или Условие при создании макросов.

В меню Сервис выберите команду Параметры.

Выберите вкладку Вид.

В группе Конструктор макросов установите или снимите флажки столбец имен и столбец условий.

Задание условий для выполнения макроса

В окне макроса нажмите кнопку Условия на панели инструментов.

Введите условное выражение в ячейку столбца Условие той строки, для которой требуется задать условие. Нельзя использовать выражения SQL в ячейках столбца Условие.

Совет

Введите в ячейку столбца Макрокоманда имя макрокоманды, которая должны выполняться, если условное выражение истинно.

Ввод выражения в аргумент макрокоманды

Введите знак равенства (=), за которым следует выражение.

Например, следующее выражение задает в качестве аргумента макрокоманды значение элемента управления «ВыборНазвания»:

=[Выбор названия]

Знак равенства опускается при использовании аргумента «Выражение» макрокоманды «ЗадатьЗначение» (SetValue) и аргумента «Число повторений» макрокоманды «ЗапускМакроса» (RunMacro). Если ввести знак равенства перед выражением, задающим значение аргумента, то выражение будет рассчитываться дважды, что может привести к непредсказуемым результатам.

ПРОВЕРКА:

Проверка условий на значения данных в программах.

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

В этом случае следует создать макрос, в котором определяется значение, введенное в поле «Страна», а затем проверяется соответствие значения, вводящегося в поле «Индекс», стандартам этой страны.

Вначале создайте макрос, выводящий различные сообщения в зависимости от значения поля «Страна» и длины значения поля «Индекс».

Если поле «Страна» имеет значение «Франция», а длина содержимого поля «Индекс» не равняется пяти знакам в макросе выводится сообщение.

Затем откройте в режиме конструктора форму, содержащую элементы управления, и укажите имя макроса в свойстве события формы До обновления (BeforeUpdate). Необходимо использовать свойство формы, а не элемента управления, поскольку в данном условии проверяются значения двух элементов управления.

Определенный таким образом макрос будет выполняться после завершения ввода новой записи, но до сохранения записи в таблице «Поставщики». При выполнении любого из двух условий ошибки Access выведет соответствующее предупреждение, а запись в таблице «Поставщики» сохранена не будет.

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

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

Вначале откройте в режиме конструктора форму, содержащую элементы управления. Затем определите для процедуры обработки события «До обновления» (BeforeUpdate) следующую программу Visual Basic, выводящую различные сообщения в зависимости от значения поля «Страна» и длины значения поля «Индекс».

Примечание. Программа Visual Basic определяется для процедуры обработки события «До обновления» (BeforeUpdate) формы, а не элементов управления, поскольку в данном условии проверяются значения двух элементов управления.

Private Sub Form_BeforeUpdate(Cancel As Integer)

Select Case Me![Country]

Case "France"

If Len(Me![PostalCode]) <> 5 Then

MsgBox "PostalCode must be 5 characters."

Cancel = True

End If

Case "Japan"

If Len(Me![PostalCode]) <> 3 Then

MsgBox "PostalCode must be 3 characters."

Cancel = True

End If

End Select

End Sub

При использовании этой формы для добавления нового поставщика Microsoft Access запустит процедуру проверки условия на значение после ввода новой записи, но до ее сохранения в таблице «Поставщики». При выполнении любого из условий, определенных в процедуре, Access выведет на экран соответствующее сообщение, а запись не будет сохранена в таблице «Поставщики».

Программная проверка условия на значения данных

Использование макроса

Чтобы создать макрос выберите значок Макросы в списке Объекты.

Нажмите кнопку Создать на панели инструментов окна базы данных.

Добавьте в макрос макрокоманду.

Инструкции

Проверьте, что в окне макроса на панели инструментов нажата кнопка Условия .

Введите условие на значение в ячейку столбца Условие в пустой строке макрокоманды.

В ячейке столбца Макрокоманда выберите в списке макрокоманд макрокоманду, которая должна выполняться, если условие истинно.

Для всех других макрокоманд, которые должны выполняться, если условие истинно, введите многоточие (...) в ячейку столбца Условие и имя макрокоманды в ячейку столбца Макрокоманда. Например, обычно последней макрокомандой в наборе макрокоманд, выполняемых, если условие истинно, является макрокоманда «ОтменитьСобытие» (CancelEvent).

Для сохранения макроса нажмите кнопку Сохранить .

Откройте форму в режиме конструктора.

Для запуска процедуры проверки события введите имя макроса в ячейку свойства события. Например, для проверки условия при изменении данных в элементе управления следует указать имя макроса в качестве значения свойства До обновления (BeforeUpdate) элемента управления.

Примечание. Для проверки условия на значение перед обновлением всей записи определите соответствующий макрос для события До обновления (BeforeUpdate) формы, а не для события До обновления (BeforeUpdate) элемента управления.

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

Откройте форму в режиме конструктора.

Откройте окно свойств формы и выберите вкладку События.

Выберите свойство события, в ответ на которое должна выполняться процедура.

Например, для запуска процедуры проверки условия при обновлении данных в элементе управления создайте процедуру обработки события До обновления (BeforeUpdate) элемента управления.

Нажмите кнопку Построить рядом с окном свойств для отображения диалогового окна Построитель.

Дважды щелкните элемент Программы, чтобы открыть окно процедуры обработки события.

Добавьте в процедуру обработки события программу на языке Microsoft Visual Basic для приложение (VBA), в которой задаются условия на значение и операции, выполняемые при соблюдении этих условий.

Примечания

Обычно, полезным оказывается отмена события, которое запускает проверку условий, после завершения операции. Для отмены большинства событий следует задать значение True для аргумента Cancel процедуры обработки события.

Для проверки условия на значение перед обновлением всей записи определите соответствующую программу для процедуры обработки события «До обновления» (BeforeUpdate) формы, а не элемента управления.

Порядок проверки условий на значения для элементов управления и полей

Условия на значения элементов управления и полей проверяются в следующем порядке.

Макрос или процедура обработки события (например, макрос или процедура обработки события, запускаемая в ответ на событие До обновления (BeforeUpdate) элемента управления или формы, содержащей элемент управления).

Свойство Условие на значение (ValidationRule) элемента управления.

Условия на значение поля, определенные в базовой таблице. Эти условия задаются в свойствах поля Условие на значение (ValidationRule), Обязательное поле (Required) и Пустые строки (AllowZeroLength).

Свойство Условие на значение (ValidationRule) базовой таблицы (данное свойство определяет условия для записей).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]