Слайд 2
Назначение макросов
Макросы используются для автоматизации исполнения последовательности рутинных
операций с БД, например:
а) автоматическое открытие и/или печать нескольких
форм или отчетов;
б) автоматическое экспортирование данных
из БД в другой формат (например , в dBase).
Слайд 3
Виды макрокоманд в макросах
Макрос представляет собой одну или
последовательность нескольких макрокоманд из числа следующих:
Восстановить
Песочные часы ВывестиВформате ОткрытьЗапрос Звуковой сигнал ОткрытьМодуль
и т. д.
Слайд 4
Макрос с условием в форме
Можно устанавливать запуск макроса
при выполнении какого-либо условия в форме или отчете, например:
Слайд 5
Создание макроса с условием
[Макрос]-[Создать];
Создать макрос;
[Вид]
– [Условие].
В результате появится дополнительный столбец УСЛОВИЕ, в который
можно внести условие запуска для каждой макрокоманды. Например:
[Forms]![Запрос читателя]![КолЭкз]>1
Слайд 6
Запуск макроса
Запуск макроса может осуществляться:
а) автоматически при открытии
БД;
б) при активизации специально созданной для запуска макроса кнопке
управления. Кнопка может быть создана в форме или отчете;
в) автоматически при возникновении определенного события в форме, отчете или в элементе управления типа поле или поле со списком.
Слайд 7
Использование модулей наVBA
VBA имеет значительно большие функциональные возможности
по сравнению с макросами, а именно:
⮚ VBA позволяет использовать
в выражениях и в качестве аргументов процедур переменные, значения которых могут динамически изменяться, в макросах же применяются только статические значения;
⮚ VBA обеспечивает очень гибкие возможности управления всеми объектами Access, особенно объектами, связанными с данными. Напрмер, VBA дает возможность работать с отдельными записями набора. Макросы позволяют работать только с набором записей.
Слайд 8
Использование модулей наVBA
VBA обеспечивает возможность создавать средства
перехвата и обработки ошибок. Макросы этого не позволяют.
Поэтому макросы
целесообразно использовать для создания прототипов приложений пользователя, а «доведение до ума» приложений следует производить с использованием VBA.
Слайд 9
Пример задачи, связанной с вводом данных в БД
из внешней аппаратуры
БД предназначена для учета отгрузки предприятием металлического
проката. Взвешивание отгружаемой продукции производится на автоматических весах. Результат взвешивания считывается в компьютер через СОМ-порт и записывается в файл. Программа чтения данных представляет собой EXE-модуль. Запуск EXE-модуля и перенос данных из файла в БД нужно осуществить из БД.
Слайд 11
Алгоритм решения
В форме ТОВАРЫ пользователь заполняет поля: №вагона,
Описание груза, № накладной;
По событию ПОСЛЕ ОБНОВЛЕНИЯ запускается макрос,
который запускает модуль;
Модуль запускает EXE-модуль, затем после паузы, соответствующей времени взвешивания, считывает результаты взвешивания из файла и заносит их в БД.
Слайд 12
Пример запуска exe-модуля из модуля VBA
Dim a, b,
p As Variant
Shell “d:\gast20.exe" 'Запуск exe-модуля, выполняющего
'чтение данных
с автоматических весов и запись в файл .dat
a = Timer 'Запуск функции чтения кода времени с таймера
b = a
While (b - a < 2) 'Цикл ожидания на 2 сек
b = Timer ‘(За 2 сек производится взвешивание)
Wend
Слайд 13
Пример ввода данных в БД из файла
Open “D:\b1"
For Input As 1 'Открытие файла b1.dat для чтения
Input
#1, p 'Чтение результата взвешивания p из файла
Close #1 'Закрытие файла
Beep 'Звуковой сигнал
Forms![товары1]![масса,т] = p * 0.01 'Ввод данных в БД
Forms![товары1]![Дата/время] = Now() 'Ввод текущего времени в БД
Запуск модуля с помощью макроса
Слайд 14
Пример задачи, связанной с необходимостью автоматической корректировки данных
о запасах на складе по результатам продаж
Слайд 15
Пример использования модулей на VBA
Автоматический перерасчет остатка товаров
на складе после каждой продажи можно произвести только с
помощью модуля на VBA
Слайд 16
Модуль учета продаж
Private Sub КолЗаказаТовара_AfterUpdate()
Dim stDocName As String
Dim
stLinkCriteria As String
stDocName = "Склад"
stLinkCriteria = "[КодТовара]=" & Me![КодТовара]
Продано
= Forms("Расход")("КолЗаказаТовара").Value
<Операторы, выполняющие перерасчет остатка на складе>
End Sub
Слайд 17
Операторы перерасчета остатка на складе
‘Фрагмент модуля открывает форму
Склад на записи, ‘связанной по ключевому полю КодТовара с
записью, ‘открытой в данный момент в форме Расход, затем
‘ производит перерасчет
DoCmd.OpenForm ("Склад"), , , stLinkCriteria
Остаток = Forms("Склад")("Количество").Value
Forms("Склад")("Количество").Value = Остаток - Продано
Пример использования модулей на VBA
Слайд 19
Способы защиты информации
защита базы данных (mdb-файла) с помощью
пароля и шифрования;
защита приложения Microsoft Access путем сокрытия объектов
в окне базы данных и настройки параметров запуска;
защита паролем программы на языке VBA;
защита программ VBA путем создания файла, в котором отсутствует программный код;
защита базы данных и ее объектов средствами защиты на уровне пользователей.
Слайд 20
Защита базы данных (mdb-файла) с помощью пароля
[Файл]
– [Открыть…];
найти в каталогах файл базы данных и
пометить его;
[Открыть] – [Монопольно].
После открытия окна базы данных сохранить ее с паролем:
[Сервис] – [Защита] – [Задать пароль базы данных…],
задать пароль доступа в окнах всплывающей панели «Задание пароля базы данных».
Слайд 21
Сокрытие объектов в окне базы данных
пометить объект, затем
вызвать контекстное меню, выбрать пункт «Свойства», затем в окне
«Атрибуты» всплывающей панели «Свойства» установить флажок «скрытый»;
[Сервис] – [Параметры…] ;
открыть вкладку «Вид» и снять флажок «скрытые объекты».
Открытие скрытых объектов базы данных
Слайд 22
Открытие скрытых объектов
[Tools] – [Options…] ;
открыть вкладку «Вид»
и установить флажок «скрытые объекты».
В результате значки скрытых объектов
появятся, но будут неконтрастными. Для восстановления скрытого объекта нужно пометить его значок, затем вызвать контекстное меню, выбрать пункт «Свойства», затем в окне «Атрибуты» всплывающей панели «Свойства» сбросить флажок «скрытый».
Слайд 23
Скрытие окна базы данных
[Сервис] – [Параметры запуска…];
во всплывающей
панели «Параметры запуска» сбросить флажок «Окно базы данных».
Открытие скрытого
окна базы данных
Слайд 24
Открытие скрытого окна базы данных
Для того, чтобы увидеть
скрытое окно базы данных, нужно найти файл базы данных
и открывать его при нажатой клавише . После этого:
а) [Сервис] – [Параметры запуска…];
б) во всплывающей панели «Параметры запуска» установить флажок «Окно базы данных».
Слайд 25
Защита путем создания файла MDE базы данных
Файл MDB,
в котором хранится база данных, может быть преобразован в
файл MDE. В файле MDE весь программный код базы данных хранится в скомпилированном виде. Это исключает возможность внесения изменений в модули, формы и отчеты базы данных в режиме Конструктор и, таким образом, частично защищает базу данных от несанкционированных изменений.
Слайд 26
Создание файла MDE
[Файл] – [Открыть…];
найти в каталогах
файл базы данных и пометить его;
[Открыть] – [Монопольно],
затем выполнить
следующую последовательность действий:
[Сервис] – [Служебные программы] – [Создать MDE-файл…].
Примечание. Файл MDE нельзя вновь преобразовать в MDB! Поэтому, чтобы сохранить возможность внесения изменений в базе данных, перед преобразованием файла MDB в MDE нужно сохранить резервную копию файла MDB!
Слайд 27
Защита базы данных (mdb-файла) с помощью шифрования
Чтобы зашифровать
базу данных, ее нужно закрыть, а затем выполнить следующую
последовательность действий:
[Сервис] – [Защита] – [Закодировать или раскодировать базу данных…]
и указать имена шифруемого и результирующего файлов. Можно одновременно защитить базу данных паролем.
Расшифровка файла базы данных