Ви можете впорядкувати та керувати базами даних Microsoft Access, періодично архівуючи старі або неактивні записи. Можна заархівувати всі таблиці в базі даних, певні таблиці або лише певні записи, наприклад записи, старіші за певну дату. У цій статті пояснюється, як заархівувати дані в базі даних Access за допомогою трьох різних параметрів.
У цій статті
Коли варто архівувати?
Якщо база даних на комп'ютері містить дані, які більше не планується використовувати, але ви хочете тримати ці дані під рукою на випадок, якщо вони потрібні в певний момент часу або для відповідності політиці збереження даних, архівація – це чудовий спосіб зберегти такі дані. Архівація також часто використовується, щоб зберігати дані на основі умови дати, наприклад наприкінці місяця.
Способи архівування даних
У таблиці нижче наведено способи архівування даних, опис методу, пояснення того, коли слід використовувати кожен метод, а також інші конкретні зауваження щодо методу.
Метод |
Опис |
Використовувати, коли... |
Інші зауваження |
Періодично створює архівну копію певної таблиці та замінює її на нову пусту копію таблиці. |
Усі записи в таблиці відповідають умовам, які використовуються, щоб визначити, чи потрібно архівувати. ПРИКЛАД. You have a table that stores daily temperature extremes. Щороку ви архівуєте таблицю та починаєте свіжі з пустої. |
|
|
Періодично створіть архівну копію серверної бази даних, а потім замініть серверну базу даних на нову пусту. Потрібна розділена база даних (база даних, що складається: серверний файл бази даних, який містить усі таблиці; і зовнішній файл бази даних, який містить усі інші об'єкти бази даних). |
Усі записи в більшості таблиць у базі даних відповідають умові, яка використовується для визначення наявності архівації. ПРИКЛАД. Your database consists of several tables with different kinds of meteorological data. Щороку архівувати всі таблиці. |
|
|
Періодично виконується запит, який вибирає записи для архівування та додає дані до архівної таблиці, а потім виконується запит, щоб вибрати ті самі записи (з вихідної таблиці) і видалити їх. |
Деякі записи в таблиці відповідають умові, за допомогою яких можна визначити, чи потрібно архівувати. ПРИКЛАД. You want to archive library transactions (check outs), if the Checked In Date is least a year old. |
Попередження!: Якщо в запитах потрібно використовувати параметри, створіть форму для обробки параметрів. В іншому разі ви ризикуєте втратити дані. |
Робота з цілісністю зв'язків
Якщо записи, які потрібно архівувати, пов'язані із записами в інших таблицях, можливо, доведеться обійти зв'язок. Якщо записи, які потрібно архівувати, – це "дочірні" записи (вони належать до сторони "багатьох" зв’язок "один-до-багатьох" ), можливо, їх можна безпечно архівувати без занепокоєння. Якщо записи, які потрібно архівувати, є "батьківськими" записами (вони належать до сторони "один" зв’язок "один-до-багатьох" ), коли ви архівуєте пов'язані з ними "дочірні" записи, можуть:
-
Заборонити видалення "батьківських" записів. Це може спричинити проблеми, якщо до архівної таблиці вже додано "батьківські" записи.
-або-
-
Станьте "відірваними" – записами, які належать до "батьківського", якого немає. Це може призвести до проблем із цілісністю даних і функціональністю бази даних, у якій використовуються відірвані записи.
Щоб врахувати цілісність даних, виконайте такі дії:
-
Визначте, які "дочірні" записи належать до записів, які потрібно архівувати. Наприклад, щоб архівувати записи про активи, позичені в бібліотеці, спочатку визначте, чи відкрито на цих активах транзакції (наприклад, чи їх взято на редагування, але не повернуто).
-
Виконайте одну з таких дій:
-
Якщо "дочірні" записи завжди можна безпечно видалити, переконайтеся, що зв'язок забезпечує цілісність даних із каскадними видаленнями. Це гарантує, що всі пов'язані "дочірні" записи буде видалено.
-
Якщо "дочірні" записи не завжди можна безпечно видалити, радимо архівувати всі таблиці в базі даних.
-
Створення запит, який вибирає "батьківські" записи, які не містять "дочірніх" записів. Потім скористайтеся цим першим запитом, щоб створити свої архівні запити (див. розділ Періодично переміщати записи до архівної таблиці), а не використовувати батьківську таблицю.
-
Періодично замінювати таблицю
Якщо потрібно заархівувати всі дані в таблиці, можна періодично замінювати таблицю на пусту копію.
Увага!: Якщо архівна таблиця пов'язана з іншими таблицями, можливо, знадобиться обійти цілісність даних.
-
В області переходів виберіть таблиці, які потрібно архівувати, натисніть клавіші Ctrl+C, а потім натисніть клавіші Ctrl+V.
-
У діалоговому вікні Вставлення таблиці як у розділі Параметри вставлення виберіть параметр Лише структура, а потім натисніть кнопку OK.
Access назве копію як копію імені вихідної таблиці. -
В області переходів клацніть правою кнопкою миші вихідну таблицю та виберіть перейменувати в контекстному меню.
Дайте таблиці інше ім'я, щоб указати, що вона містить, наприклад "DailyTemperatureExtremes_archive_2019". -
В області переходів клацніть правою кнопкою миші пусту копію та виберіть команду Перейменувати в контекстному меню. Перейменуйте її з іменем вихідної таблиці.
Періодично замінювати всі таблиці
Якщо використовується розділена база даних, можна періодично заміняти всі таблиці, замінюючи серверну базу даних на пусту копію.
Для цього спочатку підготуйте пусту копію. Якщо макет бази даних не зміниться, цю пусту копію можна використовувати щоразу, коли архівуватиметься. Щоб заархівувати наявну серверну базу даних, просто перейменуйте її та збережіть пусту копію як нову серверну базу даних.
Підготовка пустої копії серверної бази даних
Спочатку імпортуйте визначення таблиці для всіх таблиць у серверній базі даних.
-
На вкладці Файл натисніть кнопку Створити, виберіть пункт Пуста база даних і натисніть кнопку Створення.
-
Закрийте таблицю1.
-
На вкладці Зовнішні дані в групі Імпорт & Посилання натисніть кнопку Access.
-
У діалоговому вікні Отримати зовнішні дані – База даних Access виберіть імпортувати таблиці, запити, форми, звіти, макроси та модулі до поточної бази даних, а потім натисніть кнопку Огляд.
-
У діалоговому вікні Відкриття файлу виберіть серверну базу даних. Натисніть кнопку Відкрити , щоб закрити діалогове вікно Відкриття файлу , а потім натисніть кнопку OK.
-
У діалоговому вікні Імпорт об'єктів натисніть кнопку Параметри.
-
У розділі Імпорт таблиць виберіть лише визначення.
-
На вкладці Таблиці натисніть кнопку Виділити все, натисніть кнопку OK, а потім – Закрити.
Додавання даних до будь-яких таблиць підстановки в пустій копії
Для кожної таблиці підстановки виконайте такі дії:
-
Зв'язування з таблицею підстановки в наявній серверній базі даних.
-
Створення запит на додавання, який додає до копії всі записи з оригіналу.
Заміна серверної бази даних пустою копією
Спочатку перейменуйте наявну серверну базу даних, щоб указати, що це архів. Потім відкрийте пусту копію та збережіть її, використовуючи вихідне ім'я серверної бази даних.
-
Перейдіть на вкладку Файл і натисніть кнопку Зберегти базу даних як. Вам може бути запропоновано закрити всі відкриті об'єкти; якщо так, натисніть кнопку OK. Відкриється діалогове вікно Збереження документа.
-
У полі Зберегти в (у верхній частині діалогового вікна Збереження документа) переконайтеся, що файл зберігається в тому самому розташуванні, що й вихідна серверна база даних.
-
У полі Ім'я файлу введіть ім'я вихідної серверної бази даних.
-
У полі Тип файлу виберіть пункт База даних Access (*.accdb).
Періодичне переміщення записів до архівних таблиць
Це процес із чотирьох кроків, який вимагає створення пустої копії таблиці із записами, які потрібно архівувати, створення запиту на додавання для копіювання записів із вихідної таблиці до архівної таблиці, створення запит на видалення для видалення архівованих записів із вихідної таблиці та створення макросу для виконання обох запитів, які можна запускати, коли потрібно архівувати. Цей, здавалося б, складний процес може бути простим, якщо виконати кроки в порядку, у якому вони представлені нижче:
Крок 1. Створення архівну таблицю
Крок 2. Створення запит на додавання для копіювання даних до архівної таблиці
Крок 3. Створення запит на видалення для видалення даних із вихідної таблиці
Крок 4. Створення макрос для виконання запитів на додавання та видалення
Крок 1. Створення архівну таблицю
Щоб зберегти всі архівовані записи в одній таблиці, виконайте цей крок один раз. В архівній таблиці, створеній на цьому кроці, міститимуться всі архівовані записи.
Щоб видалити стару архівну таблицю під час створення нової, замість цього можна скористатися запит на створення таблиці, щоб скопіювати дані до архівної таблиці. Для цього перейдіть до кроку 2.
Щоб використовувати нову архівну таблицю під час кожного архівування, але щоб зберегти старі архівні таблиці, перейменуйте стару архівну таблицю, перш ніж створювати нову. Якщо архівування виконується на основі дати, радимо назвати старі архівні таблиці відповідно до діапазону дат, який вони представляють.
-
В області переходів виберіть таблицю із записами, які потрібно архівувати, натисніть клавіші Ctrl+C, а потім натисніть клавіші Ctrl+V.
-
У полі Ім'я таблиці видаліть слова Копія та додайте підкреслення та слово "архів" до наявного імені таблиці, а потім натисніть кнопку OK. Наприклад, якщо вихідна таблиця має ім'я Transactions (Транзакції ), архівна таблиця має ім'я Transactions_archive.
-
У діалоговому вікні Вставлення таблиці як у розділі Параметри вставлення виберіть параметр Лише структура.
Крок 2. Створення запит на додавання для копіювання даних до архівної таблиці
-
На вкладці Створити в групі Запити натисніть кнопку Конструктор запитів.
-
Додайте таблицю із записами, які потрібно архівувати.
-
У вікні макета запиту двічі клацніть зірочку (*) у щойно доданій таблиці. Ім'я таблиці та зірочка відображаються в першому стовпці бланка запиту.
Примітка.: Зірочка вказує на те, що запит має включати всі поля з таблиці до результатів запиту. Під час використання зірочки, якщо поля додаються або видаляються з таблиці, результати запиту змінюються відповідним чином.
-
У вікні макета запиту двічі клацніть поле, яке потрібно використовувати, щоб указати умову, з якої мають відповідати записи, перш ніж архівувати їх. Наприклад, якщо в таблиці "Транзакції" є поле " Дата повернення" та потрібно заархівувати всі записи, яким більше року, двічі клацніть поле та відобразиться в наступному пустому стовпці бланка запиту.
Повторіть цей крок, якщо потрібно використовувати умови з додатковими полями.
-
Використовуйте рядок Критерії , щоб указати умови для щойно доданих полів. Наприклад, можна вказати, що дата повернення має бути ранішою за 1 січня 2019 р. за допомогою виразу <#01.01.2019# у рядку Умови .
Якщо значення умов змінюються під час кожного архівування, запит має запитувати введення. Для цього використовується параметр у рядку Умови , щоб запит запит на введення. Щоб використовувати параметр, використовуйте вираз як зазвичай, але замість вказаного значення використовуйте коротке запитання, оточене квадратними дужками. Наприклад, можна використати вираз <[Архівувати транзакції, завершені раніше:], наприклад:
Докладні відомості про використання параметрів див. в статті Загальні відомості про запити.
Крім того, ви можете вказати альтернативні умови за допомогою рядка або рядка. Докладні відомості про використання умов див. в статті Приклади умов запиту.
Порада.: Якщо для визначення умов використовується поле дати та потрібно заархівувати всі записи, старіші за поточну дату, введіть <Date() у рядку Умови для поля дати.
-
Виконайте одну з таких дій:
Якщо архівну таблицю вже створено, додайте до неї вказані записи за допомогою запиту на додавання:
-
На вкладці Конструктор у групі Тип запиту натисніть кнопку Додавання.
-
У діалоговому вікні Додавання в полі Ім'я таблиці виберіть ім'я архівної таблиці та натисніть кнопку OK.
На бланку запиту з'явиться рядок Додавання до .
-
Зніміть прапорець Додати до всіх полів, за допомогою яких ви вказали умови. (Лише зірочка має мати значення для параметра Додати до.)
Якщо архівну таблицю не створено, скористайтеся запитом на створення таблиці, щоб створити архівну таблицю за допомогою вказаних записів:
-
На вкладці Конструктор у групі Тип запиту натисніть кнопку Створення таблиці.
-
У діалоговому вікні Створення таблиці в полі Ім'я таблиці введіть ім'я архівної таблиці та натисніть кнопку OK.
-
-
Натисніть сполучення клавіш Ctrl+S, щоб зберегти запит.
Крок 3. Створення запит на видалення для видалення даних із вихідної таблиці
-
На вкладці Створити в групі Запити натисніть кнопку Конструктор запитів.
-
Додайте таблицю із записами, які потрібно архівувати.
-
У вікні макета запиту двічі клацніть зірочку (*) у щойно доданій таблиці. Ім'я таблиці та зірочка відображаються в першому стовпці бланка запиту.
-
У вікні макета запиту двічі клацніть ті самі поля, за допомогою яких ви вказали умову в запиті на додавання.
-
Використовуйте рядок Критерії , щоб указати умови для щойно доданих полів. Докладні відомості про використання умов див. в статті Приклади умов запиту.
Увага!: Якщо в запиті на додавання або створення таблиці використовувався параметр, переконайтеся, що запит на видалення також виконується. Також пам'ятайте, що для обох запитів введено однакове значення. Якщо ввести інші значення параметрів, дані можуть бути втрачені. Щоб запобігти втраті даних, радимо використовувати форму для збирання значень, а запити запитів запитають у формі вхідні значення. Докладні відомості див. в статті Загальні відомості про запити.
-
На вкладці Конструктор у групі Тип запиту натисніть кнопку Видалення.
Рядок Видалення з'явиться на бланку запиту.
-
Натисніть сполучення клавіш Ctrl+S, щоб зберегти запит.
Крок 4. Створення макрос для виконання запитів на додавання та видалення
-
на вкладціСтворити у групі Макроси та код натисніть кнопку Макрос.
-
Клацніть стрілку розкривного списку поруч із кнопкою Додати нову дію, а потім виберіть команду Відкритизапит.
З'явиться дія Відкритизапит і відобразяться її аргументи.
-
У полі Ім'я запиту виберіть запит (додавання або створення таблиці), створений на кроці 2.
-
Клацніть стрілку розкривного списку поруч із кнопкою Додати нову дію, а потім виберіть команду Відкритизапит.
З'явиться дія Відкритизапит і відобразяться її аргументи.
-
У полі Ім'я запиту виберіть запит на видалення, створений на кроці 3.
-
Натисніть клавіші Ctrl+S, щоб зберегти макрос.
Щоб архівувати записи, запустіть макрос.