- •Лабораторные работы
- •Тула 2012
- •Литература
- •Создание таблиц
- •Пример выполнения лабораторной работы (вариант 30)
- •Выполнение запроса на выборку.
- •Создание параметрического запроса.
- •Создание запроса, используемого для создания сложного отчета
- •Создание сложного отчета.
- •Создание и выполнение макросов Создание макросов
- •Сохранение макросов
- •Выполнение макроса
- •Редактирование макросов
- •Копирование макросов
- •Рабочие группы
- •Изменение файла рабочей группы.
- •Ограничение доступа в Microsoft Access 97
- •Учетные записи
- •Изменение прав владения
- •Присвоение и удаление прав доступа
- •Шифрование бд
- •Создание кода vba с помощью мастеров элементов управления
- •Процедуры
- •Создание процедур обработки событий
- •Редактирование в окне модуля
- •Аргументы процедуры
- •Основные операторы vba Переменные и оператор присваивания
- •Условные операторы
- •Операторы цикла
Шифрование бд
Шифрование — это защита БД от несанкционированного доступа с помощью текстового редактора или средств работы с файлами, например, входящих в состав Windows или Norton Utilites. Информация в зашифрованной БД недоступна для чтения. Шифрование несколько замедляет работу ACCESS 97, т.к. расходуется время на шифрование и дешифрование файлов.
Шифрование и дешифрование БД могут производить только члены группы Admins. Эти операции выполняются следующим образом:
Запустить ACCESS 97 с выбранной рабочей группой.
В подменю Защита меню Сервис активизировать команду Шифровать/дешифровать, вследствие чего на экране появится окно выбора БД для шифрования.
Выбрать БД, которую необходимо зашифровать или дешифровать, и нажать ОК.
Если выбранная БД не зашифрована, откроется диалоговое окно Шифрование базы данных под именем, в котором программа предложит новое имя для зашифрованной БД. Если же выбранная БД зашифрована, появится окно Дешифрование базы данных под именем.
Выбрать имя файла, и нажать кнопку Сохранить.
Лабораторная работа № 9
Microsoft Access и Visual Basic for Application
Цель работы
Получение навыков написания программ на VBA в среде Microsoft Access.
Задание
Разработать 3 программы на VBA в соответствии с заданием, согласованным с преподавателем. При проектировании и реализации использовать базу данных, созданную по индивидуальному заданию в работе №2.
ТЕОРЕТИЧЕСКАЯ справка
Основы Visual Basic for Applications
Visual Basic for Applications представляет собой полнофункциональный язык программирования, являющийся неотъемлемой составной частью Access. Этот язык используется для разработки приложений, предназначенных для манипулирования БД и для настройки пользовательского интерфейса. VBA — это структурированный язык программирования высокого уровня. В нем, как и в других языках, есть операторы проверки условий, циклического выполнения повторяющихся операций, а также обмена данными с памятью и дисками. В языке VBA реализованы общие принципы объектно-ориентированного программирования. Это означает, что пользовательская среда, управляемая приложением, не подвергается изменениям путем выполнения последовательности процедур и операторов, но реагирует на события, связанные с различными объектами: полями ввода, кнопками, разделами форм и отчетов. В языке VBA программный код привязан непосредственно к объектам и срабатывает тогда, когда случается определенное событие. Все программирование в Windows основано именно на отклике на то или иное событие в системе.
Создание кода vba с помощью мастеров элементов управления
Одним из эффективных способов использования VBA является привязка кода к кнопкам, добавляемым в форму с помощью мастеров элементов управления. Чтобы добавить кнопку с фрагментом кода, а затем просмотреть код, необходимо выполнить следующее:
Открыть какую-либо БД, в которой есть таблица.
Выбрать таблицу и выполнить щелчок на кнопке Автоформа стандартной панели инструментов. Для таблицы будет создана форма по умолчанию.
Сохранить созданную форму, выполнив щелчок на кнопке закрытия окна, а затем на запрос о сохранении ответить утвердительно и ввести имя созданной формы или оставить предложенное для сохранения имя формы.
Выбрать вкладку Формы. Выбрать созданную форму.
Выполнить щелчок по кнопке Конструктор, для переключения в режим конструктора формы.
Выбрать команду Вид Панель элементов, если панель элементов не отображена на экране.
Проверить, активизированы ли мастера элементов управления (т.е. нажата ли кнопка Мастера).
Выполнить щелчок на элементе Кнопка.
Выполнить щелчок на свободном месте формы, чтобы вставить в нее кнопку. Откроется диалоговое окно мастера кнопок, показанное на рис. 9.1.
В списке Категории выбрать пункт Переходы по записям, а затем в списке Действия Поиск записи. После щелчка на кнопке Готово в форму будет добавлена кнопка, выполняющая поиск.
Выполнить щелчок на элементе Кнопка.
Вставить кнопку на свободном месте формы ниже предыдущей, созданной ранее. Снова откроется окно кнопок.
В списке Категории выбрать пункт Работа с формой, а в списке Действия — пункт Закрытие формы. После щелчка по кнопке Готово в форму будет добавлена кнопка, выполняющая закрытие формы.
Рис. 9.1. Окно создания кнопки
Сохранить форму, выбрав команду Файл Сохранить. После этого можно запустить форму и проверить работу добавленных кнопок.
Переключиться в режим Конструктора, выполнив щелчок по кнопке Конструктор.
Выбрать команду Вид Программа или выполнить щелчок по кнопке Программа на панели инструментов. Откроется окно редактора Visual Basic for Applications, представленное на рис. 9.2.
В этом окне можно видеть три фрагмента программы на языке VBA: раздел объявлений (в верхней части окна), который содержит код, относящийся ко всей форме в целом, а также два раздела кода, привязанных к двум кнопкам.
Первый раздел начинается с заголовка процедуры:
Private Sub Кнопка13_Click( )
Заканчивается процедура оператором: End Sub. Операторы, заключенные между ними, выполняются после щелчка по кнопке Найти. Основная часть работы выполняется следующим оператором:
DoCmd.DoMenuItem acFormBar, AcEditMenu, 10, AcMenuVer70
Этот оператор выполняет те же действия, что и команда меню Правка Найти, т.е. выводит на экран диалоговое окно Поиск в поле, с помощью которого можно выполнить поиск.
Открыв модуль VBA, его можно редактировать как текст в любом текстовом редакторе. В окне редактора Visual Basic в код можно вставить текст из другого файла. Для этого выбрать команду Вставка Файл, а в открывшемся диалоговом окне выбрать нужный файл и выполнить щелчок по кнопке ОК.
Модули на языке Visual Basic можно выводить на печать. Для этого следует открыть модуль и выбрать команду Файл Печать.
Модули
Структурным элементом программы, написанной на языке VBA, является модуль — совокупность объявлений и процедур, объединенных в единое целое. В ACCESS 97 модули трех типов: стандартные модули, модули формы и модули отчетов. В отличие от стандартного модуля, который создается таким же образом, как и любой другой объект БД, и может выполнять практически любые вычисления, модули форм и отчетов разрабатываются для обработки событий, связанных с элементами формы или отчета.
Каждый модуль состоит из области описания и одной или нескольких процедур. Процедура представляет собой последовательность операторов, которые часто называют программными кодами. Входящие в модуль процедуры объединены общей областью описания. В ней описываются данные и объекты, которые являются общепринятыми для процедур модуля. Иерархия указанных объектов такова:
база данных;
модуль;
область описания;
процедура;
код;
оператор.
Рис. 9.2. Окно редактора VBA
Процедуры делятся на две категории: процедуры-подпрограммы (подпрограммы) и процедуры-функции (функции).
Процедура-подпрограмма активизируется при обращении к ней по имени, вследствие чего выполняется определенная последовательность операторов (инструкций). Подпрограмму используют, например, для задания свойства формы или заполнения списка значениями, полученными в результате вычислений.
Процедура-функция после выполнения возвращает некоторое значение, которое можно применять в операторах и выражениях в качестве переменной. Например, функции могут возвращать значение, используемое по умолчанию для некоторого поля, или вычислять сложный критерий в рамках запроса. В модуль можно включать любое количество функций и подпрограмм.
