Засоби захисту баз даних ms access 2018
У цьому розділі будуть розглянуті питання захисту програми за допомогою вбудованих механізмів забезпечення захисту, починаючи з версії MSAccess97 [2]. Ці механізми включають в себе захист:
за допомогою пароля, який потрібно вказувати при кожному відкритті бази даних;
на рівні користувачів;
за допомогою MDE-файлу;
програмним шляхом, використовуючи вбудований об'єктно-орієнтована мова програмування для додатків VBA (VisualBasicforApplications).
Перш ніж встановлювати захист бази даних за допомогою пароля або на рівні користувача рекомендується завжди робити резервні копії бази даних і файлу робочої групи (System.mdw (див. Розділ 1.2.1)) і копіювати ці резервні копії в спеціально відведене для цього місце.
Захист за допомогою пароля
Ядро Jet (J oinE ngineT echnology) версії 3.5 і більш пізні версії ядра СУБДMSAccessпредоставляют можливість встановити пароль на базу даних, який потрібно буде вводити при кожному відкритті бази даних. Слід зазначити, що захист бази даних за допомогою пароля і захист на рівні користувача незалежні один від одного. Це означає, що навіть якщо користувач знає пароль, йому все одно потрібно мати дозволи на роботу з об'єктами бази. Якщо користувач забуває пароль, то не існує способу видалити цей пароль або відкрити базу даних. Тому користуватися паролем потрібно гранично обережно. Якщо пароль не забутий, то його можна видалити. Для цього потрібно відкрити базу даних в монопольному режимі, маючи права адміністратора або власника бази. Розглянемо, як це можна зробити.
Нехай створена база даних (mdb-файл) по іменіМоя БД. яку необхідно захистити паролем. Для цього потрібно відкрити базу даних в монопольному режимі:
запустити MS Access;
виконати команду Файл / Відкрити (або по кнопці);
у вікні вказати ім'я бази даних (Моя БД);
в цьому ж вікні відкрити список Відкрити. в якому вибратьмонопольно.

Малюнок 1 - Відкриття бази даних в монопольному режимі
Відкриється база даних в монопольному режимі. Щоб задати пароль, потрібно виконати команду системного меню
Сервіс / Захист / Визначити пароль бази даних

Малюнок 2 - Вибір команди для завдання пароля на відкриття бази даних
Відкриється вікно для завдання пароля:

Малюнок 3 - Завдання пароля
Видалити пароль можна так:
відкрити базу даних Моя БД в монопольному режимі, як було сказано вище, ввівши пароль;
виконати команду системного меню
Сервіс / Захист / Видалити пароль бази даних
Щоб змінити пароль, треба відкрити базу даних в монопольному режимі, видалити старий пароль і задати новий.
Задати, змінити і видалити пароль можна програмним шляхом, використовуючи мову програмування VBA, наприклад, наступним чином:
відкрити базу даних Моя БД в монопольному режимі;
створити стандартний модуль (всі програми на мові VBAоформляются у вигляді процедур, а процедури розміщуються в модулях) командою:

Малюнок 4 - Створення стандартного модуля
Відкриється вікно модуля, в якому потрібно створити три процедури (для створення пароля, зміни пароля і видалення пароля).
створити процедуру для завдання пароля командою
Відкриється вікно для створення процедури, в якому треба вказати ім'я процедури (нехай це буде створити), тип процедури (нехай це буде подпрограммаSub) і область видимості процедури (можна залишити по умолчаніюPublic):

Малюнок 5 - Додавання в модуль процедури для створення пароля
За кнопці ОК в модулі буде створено порожній шаблон процедури, в якому відображається заголовок процедури (Public Subсоздать () і завершальний процедуру оператор (End Sub):

Малюнок 6 - Порожній шаблон процедури

Тут лапки "" означають, що у бази даних пароля не було, а "123" - що створений пароль 123 (як рядок символів, рядки символів полягають в подвійні лапки).
Щоб виконати цю процедуру, треба помістити курсор в будь-яке місце всередині цієї процедури і виконати команду (див. Рис. 7):
Run / Run Sub / UserForm (або кнопкою)
перевірити, чи дійсно встановлений захист за допомогою пароля. Для цього треба закрити базу даних, потім її знову відкрити і ввести пароль.

Малюнок 7 - Запуск процедури на виконання
аналогічно додати в модуль ще дві процедури на зміну і видалення пароля:

Тут "123" - старий, а "1234" - новий паролі, а "" - означає, що пароль не встановлено.