Слайд 2
![Создание макроса в Access. В Access макрос вообще напрямую никак](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/69296/slide-1.jpg)
Создание макроса в Access.
В Access макрос вообще напрямую никак не связывается
с VBA. В Access хотя и можно создавать макросы, но они не сохраняются в виде VBA-кода автоматически, т.е. они не являются VBA-программами.
Слайд 3
![Создание макроса в Access. Макросы в Access создаются путем выбора](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/69296/slide-2.jpg)
Создание макроса в Access.
Макросы в Access создаются путем выбора последовательности команд
в специально предлагаемом для этого диалоговом окне.
Макрос в Access может вызывать VBA-процедуру.
Слайд 4
![Создание макроса вручную: Кнопка Макрос, Создать В появившемся окне «Макрос»](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/69296/slide-3.jpg)
Создание макроса вручную:
Кнопка Макрос, Создать
В появившемся окне «Макрос» в столбце Макрокоманда
необходимо выбрать Запуск Программы
Выберите Вид, Имена макросов, чтобы в окне появился новый столбец Имя Макроса.
Слайд 5
![Напечатайте в этом столбце сочетание клавиш, которое вы хотите назначить своей VBA-программе. Например: или и т.д.](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/69296/slide-4.jpg)
Напечатайте в этом столбце сочетание клавиш, которое вы хотите назначить своей
VBA-программе.
Например:
или и т.д.
Слайд 6
![Щелкните в текстовом поле Имя Функции и напечатайте имя той](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/69296/slide-5.jpg)
Щелкните в текстовом поле Имя Функции и напечатайте имя той процедуры,
которую должен вызывать макрос – например: Function skidka()
Закройте окно и задайте имя макросу.
Слайд 7
![Объектно-ориентированный язык программирования VBA. Visual Basic for Application. VBA позволяет](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/69296/slide-6.jpg)
Объектно-ориентированный язык программирования VBA.
Visual Basic for Application.
VBA позволяет создавать
в среде СУБД Access целостные графические диалоговые приложения пользователя, представляющие широкие возможности для управления приложением, решения сложных задач и автоматизации выполнения задач.
Слайд 8
![Основу объектно-ориентированного программирования составляет работа с объектами. Основными объектами в](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/69296/slide-7.jpg)
Основу объектно-ориентированного программирования составляет работа с объектами.
Основными объектами в Access,
являются: таблицы, формы, запросы, отчеты, модули, макросы.
Слайд 9
![Эти объекты строятся на основе мелких объектов – элементов управления,](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/69296/slide-8.jpg)
Эти объекты строятся на основе мелких объектов – элементов управления, которые
объединяются в более крупные объекты – семейства, т.е. наборы однотипных объектов.
Слайд 10
![Программа на VBA записывается как совокупность процедур типа подпрограмма (SUB)](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/69296/slide-9.jpg)
Программа на VBA записывается как совокупность процедур типа подпрограмма (SUB) или
функция (Function).
Процедура состоит из последовательности инструкций и методов, с помощью которых решается поставленная задача: выполняются требуемые действия или производятся расчеты (скидка, например).
Слайд 11
![Инструкция определяет операцию или описание объектов, переменных, констант. Переменные служат](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/69296/slide-10.jpg)
Инструкция определяет операцию или описание объектов, переменных, констант.
Переменные служат для
сохранения рабочих промежуточных значений, а константы для сохранения некоторых постоянных значений.
Они имеют имена и хранятся в оперативной памяти.
Слайд 12
![Процедуры, входящие в состав приложения хранятся в Модулях в базе](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/69296/slide-11.jpg)
Процедуры, входящие в состав приложения хранятся в Модулях в базе данных.
Однако запросить выполнение модуля в целом невозможно.
Выполнятся могут только процедуры, содержащиеся в модулях!
Слайд 13
![В MsA существуют: а) стандартные модули хранятся на вкладке Модули:](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/69296/slide-12.jpg)
В MsA существуют:
а) стандартные модули
хранятся на вкладке Модули: они могут
быть общими (Public) и личными (Private).
Личные процедуры могут использоваться только внутри модуля, где они записаны.
Слайд 14
![б) модули форм в) модули отчетов хранятся с конкретной формой](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/69296/slide-13.jpg)
б) модули форм
в) модули отчетов
хранятся с конкретной формой или отчетом.
Любая
форма и любой отчет б/д могут содержать один модуль.
Такой модуль предназначен для сохранения процедур, связанных с обработкой событий в форме и отчете.
Они всегда являются личными и связанными с конкретным элементом и конкретным событием.
Слайд 15
![Создание пользовательской функции в VBA: 1. Находясь в окне БД](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/69296/slide-14.jpg)
Создание пользовательской функции в VBA:
1. Находясь в окне БД на вкладке
Модули нажать кнопку Создать, в результате чего:
открывается редактор VB (переключаться в Access, не выходя из VB – ALT+F11);
создается новый модуль для текущей БД – Modulе1.
Слайд 16
![2. Создается новая процедура – п.м. Insert, Procedure…, в появившемся](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/69296/slide-15.jpg)
2. Создается новая процедура – п.м. Insert, Procedure…, в появившемся диалоговом
окне Add Procedure задается:
в поле Name – имя функции (например, skidka),
тип процедуры – Function,
область видимости – Public.
После выполнения п.2 в окне Code Window (окно просмотра исходного кода VBA) появятся ключевые слова:
Слайд 17
![Public Function skidka() … End Function Текст программы располагается между](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/69296/slide-16.jpg)
Public Function skidka()
…
End Function
Текст программы располагается между ключевыми словами.
3. Выполняется команда
Compile из п.м. Debug (отладка).
Слайд 18
![4. Сохраняется модуль – п.м. File, Save, сохраняя изменения всех](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/69296/slide-17.jpg)
4. Сохраняется модуль – п.м. File, Save, сохраняя изменения всех объектов
и сохраняя текущий модуль с уникальным именем (например, skidka).
В результате должны получить следующий код процедуры:
Слайд 19
![Public Function skidka(X) ‘ Х – количество заказанного товара ‘](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/69296/slide-18.jpg)
Public Function skidka(X)
‘ Х – количество заказанного товара
‘ a, b, c
– границы количества для увеличения скидки
a=500: b=1000: c=1500
If X <= a Then
skidka = 0.09
ElseIf X <= b Then
skidka = 0.15
ElseIf X <= c Then
skidka = 0.2
Else
skidka = 0.3
End If
End Function
Слайд 20
![Чтобы воспользоваться функцией, созданной в VBA, необходимо : Выбрать Построитель](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/69296/slide-19.jpg)
Чтобы воспользоваться функцией, созданной в VBA, необходимо :
Выбрать Построитель выражений
Выбрать раздел Функций
Категорию Определенные пользователем.
Слайд 21
![Программы VBA могут создаваться не только пользователем, но и автоматически](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/69296/slide-20.jpg)
Программы VBA могут создаваться не только пользователем, но и автоматически при
работе мастеров Access.
Структура личной процедуры:
Например:
Private Sub Список услуг_Click ( )
….
….
end Sub
Слайд 22
![Пусть в форме для просмотра информации о клиентах по желанию](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/69296/slide-21.jpg)
Пусть в форме для просмотра информации о клиентах по желанию пользователя
можно открыть список услуг, которые заказывал данный клиент.
Для этого:
Создадим форму Клиенты, а также форму Услуги.
Откроем форму Клиенты и выбираем «Открыть форму для отобранных записей» и выбрать поле, по которому связываются формы.
Далее выбираем форму Клиенты и кнопку Программа.