Справочная информация
СУБД MS Access. Автоматизация приложения средствами макросов и модулей VBA
Цель работы –приобретение практических навыков создания макросов и модулей в СУБД MS Access и использования языка программирования Visual Basic for Application (VBA) для решения финансово-экономических задач средствами СУБД MS Access.
После выполнения работы студент должен знать основные понятия объектов реляционной базы данных, характеристики макросов и модулей и уметьсоздавать макросы и модули и использовать их для решения финансово-экономических задач средствами СУБД MS Access.
Макросы и модули используются для автоматизации процесса обработки базы данных.
Макрос – это набор стандартных команд СУБД MS Access, которые называются макрокомандами (см. Справочная система СУБД MS Access à Общие сведения о макросах). Полный перечень макрокоманд можно увидеть, воспользовавшись командой (СозданиеàМакрос). Макрокоманды могут содержать аргументы, детализирующие действия этих макрокоманд.
Модуль — это набор описаний, процедур и функций на языке Visual Basic for Application, собранных в одну программную единицу. Различают стандартные модули, являющиеся объектами базы данных, модули форм или отчетов, являющиеся частью этих объектов, и модули классов. Более подробно модули будут рассмотрены позднее.
Обучающее задание
1. Загрузите СУБД MS Access, откройте Учебную базу данных, активизируйте объект Модули(СозданиеàМодуль).
2. Изучите с преподавателем среду VBA.
3. В окне программы введите код:
Public Function Password()
Dim p As String
p = InputBox("Ваше имя?", "Введите пароль")
If p = "Иван Иванович" Then 'Введите свое имя
Password=True
MsgBox ("Здравствуйте, уважаемый Иван Иванович!")
Else
MsgBox ("Мы с Вами не знакомы! До свидания!")
Password=False
DoCmd.Quit
End If
End Function
4. Откомпилируйте созданную функцию (DebugàCompile) и проверьте ее работоспособность, запустив на выполнение (RunàRun Sub/UserForm или F5).
5. В случае наличия ошибок отладьте модуль.
6. Сохраните созданный модуль под именем «Пароль» (FileàSave) и перейдите в MS Access.
7. Активизируйте объектМакросы (СозданиеàМакрос) и создайте макрос автоматической загрузки под именем Autoexec, для чего введите следующие макрокоманды (см. табл. 2):
Таблица 2. Перечень макрокоманд
Условие | Макрокоманда | Имя аргумента | Значение аргумента |
Password()=Истина | ОткрытьФорму | Имя формы Режим | Заставка Форма |
… | ВыделитьОбъект | Тип объекта Имя объекта | Форма Заставка |
… | Развернуть |
8. Сохраните макрос под именем «Autoexec» и закройте окно конструктора макросов.
9. Закройте и снова загрузите СУБД MS Access, открыв Учебную базу данных.
10. Прокомментируйте результаты работы с приложением.
Самостоятельное задание и контрольные вопросы
1. Создайте подобные модули и макросы для личной базы данных (см. Задание №2 на самостоятельную работу).
2. Представьте результаты их работы преподавателю
3. Назовите основные объекты, с которыми Вы работали при выполнении обучающего и самостоятельного заданий.
4. Какие выражения VBA были использованы Вами при создании модулей и макросов в учебной и личной базе данных? Что означают эти выражения?