Ви можете підтримувати свої бази даних Microsoft Access упорядкованими та керованими, періодично архівуючи старі або неактивні записи. Можна архівувати всі таблиці в базі даних, певні таблиці або лише певні записи (наприклад, записи, старіші за певну дату). У цій статті пояснюється, як використовувати три різні варіанти архівування даних у базі даних Access.
У цій статті
- Коли варто задуматися про архівацію?
- Періодична заміна таблиці
- Періодично замінювати всі таблиці
- Періодично переміщуйте записи до архівної таблиці.
Коли варто задуматися про архівацію?
Якщо база даних на комп'ютері містить дані, які ви не плануєте більше використовувати, але вам потрібно тримати ці дані під рукою на випадок, якщо вони знадобляться в певний момент часу або для дотримання вимог політики збереження даних, архівування – це хороший спосіб збереження таких даних. Архівація також часто використовується, щоб зберегти дані на основі заданих умов дати, наприклад наприкінці місяця.
Способи архівування даних
У таблиці нижче наведено список методів архівування даних, опис методу, пояснення, коли слід використовувати кожен метод, та інші особливі зауваження щодо методу.
| Спосіб приготування | Опис | Використовуйте, у яких випадках | Інші зауваження |
|---|---|---|---|
| Періодична заміна таблиці | Час від часу створює архівну копію певної таблиці та заміщає її новою пустою копією. | Усі записи в таблиці відповідають умовам, які використовуються для визначення необхідності архівації. ПРИКЛАД: У вас є таблиця, у якій зберігається гранична добова температура. Щороку ви архівуєте таблицю і починаєте з чистого аркуша. |
|
| Періодично замінювати всі таблиці | Періодично створюйте архівну копію серверної бази даних і замінюйте серверну базу даних на нову, пусту. Потрібна розділена база даних (база даних, що складається з файлу серверної бази даних з усіма таблицями та файлу клієнтської бази даних з усіма іншими об'єктами бази даних). | Усі записи в більшості таблиць бази даних відповідають умові, яка використовується для визначення необхідності архівації. ПРИКЛАД. Ваша база даних складається з кількох таблиць із різними типами метеорологічних даних. Щороку всі таблиці архівуються. |
|
| Періодично переміщуйте записи до архівної таблиці. | Періодично запускає запит, який вибирає записи для архівації та додає дані до архівної таблиці, після чого ви виконуєте запит для вибору цих самих записів (з вихідної таблиці) і видалення їх. | Деякі записи в таблиці відповідають умові, яка використовується для визначення необхідності архівації. ПРИКЛАД. Потрібно архівувати транзакції бібліотеки (взяття на редагування), якщо даті повернення з редагування принаймні рік. |
Увага! Якщо потрібно використовувати параметри в запитах, слід створити форму для їх обробки. Інакше ви ризикуєте втратити дані. |
Обхід цілісності даних
Якщо записи, які потрібно архівувати, пов'язані із записами в інших таблицях, можливо, потрібно обійти зв'язок. Якщо записи, які потрібно заархівувати, є дочірніми (належать до сторони «багато» зв'язку «один-до-багатьох»), імовірно, їх можна безпечно архівувати. Якщо записи, які потрібно архівувати, батьківські (вони належать до сторони "один" зв'язку "один-до-багатьох"), під час архівації пов'язані з ними дочірні записи можуть:
- запобігти видаленню "батьківських" записів; Це може спричинити проблеми, якщо "батьківські" записи вже додано до таблиці архіву.
- Або -
- стати "відірваними", тобто записами, що належать батьківському об'єкту, але не існує. Це може призвести до проблем із цілісністю та функціональністю бази даних, у якій використовуються відірвані записи.
Щоб врахувати цілісність даних можна зробити ось що:
Визначте, які "дочірні" записи належать до записів, які потрібно архівувати. Наприклад, щоб заархівувати записи про активи, позичені в бібліотеці, спочатку визначте, чи є операції з цими активами, відкритими, тобто чи їх узято на редагування, але не повернуто.
Виконайте одну з таких дій:
- Якщо "дочірні" записи завжди можна безпечно видалити, переконайтеся, що до зв'язку застосовується цілісність даних із каскадним видаленням. Це гарантує, що всі пов'язані "дочірні" записи буде видалено.
- Якщо "дочірні" записи не завжди можна безпечно видалити, радимо заархівувати всі таблиці в базі даних.
- Створення запиту, який вибирає "батьківські" записи, що не містять "дочірніх" записів. Тоді використайте цей перший запит для створення запитів архіву (див. розділ "Періодичне переміщення записів до архівної таблиці"), а не використовуйте батьківську таблицю.
Періодична заміна таблиці
Якщо потрібно заархівувати всі дані в таблиці, можна періодично замінювати її на пусту копію.
Важливо
Якщо архівована таблиця пов'язана з іншими таблицями, можливо, потрібно попрацювати над цілісністю посилань.
В області переходів виділіть таблиці, які потрібно заархівувати, натисніть клавіші 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.
- У полі "Ім'я таблиці" видаліть слова "Копія" та додайте символ нижнього підкреслення та слово "archive" до імені наявної таблиці та натисніть кнопку "OK". Наприклад, якщо вихідна таблиця має ім'я "Транзакції ", таблиця архіву має ім'я Transactions_archive.
- У діалоговому вікні " Вставити таблицю як " у розділі "Параметри вставлення" виберіть "Лише структура".
Крок 2. Створення запиту на додавання для копіювання даних до таблиці архіву
На вкладці Створити в групі Запити натисніть кнопку Конструктор запитів.
Додайте таблицю із записами, які потрібно заархівувати.
У вікні макета запиту двічі клацніть зірочку (*) у щойно доданій таблиці. Ім'я таблиці та зірочка відображаються в першому стовпці бланка запиту.
Примітка.
Зірочка вказує, що запит має включати в результати всі поля з таблиці. Якщо ви використовуєте зірочку, якщо додаються поля до таблиці або видаляються з неї, результати запиту змінюватимуться відповідним чином.
У вікні макета запиту двічі клацніть поле, яке потрібно використовувати для визначення умови, якій мають відповідати записи, перед їх архівацією. Наприклад, якщо в таблиці "Транзакції" є поле з назвою " Дата реєстрації" й потрібно заархівувати всі записи, яким указана дата більше року, двічі клацніть це поле, і воно з'явиться в наступному пустому стовпці бланка запиту.
Повторіть цей крок, якщо потрібно використовувати умови з додатковими полями.Використовуйте рядок умов , щоб указати умови для щойно доданих полів. Наприклад, ви можете вказати, що дата перевірки має бути раніша за 1 січня 2019 року, використовуючи вираз <#1/1/2019# у рядку Умови .
Якщо значення умов змінюються під час кожного архівування, запит має запитувати введення. Для цього введіть параметр у рядку "Criteria ", щоб запит запитував введення. Щоб застосувати параметр, використайте вираз, як завжди, але замість указаного значення використайте коротке запитання у квадратних дужках. Наприклад, можна використати вираз <[Архів транзакцій, виконаних раніше:], як-от:
Додаткові відомості про використання параметрів див. у статті Загальні відомості про запити.
Рядок "Або " також можна використовувати для призначення альтернативних умов. Докладні відомості про використання умов див. в статті Приклади умов запиту.Порада.
Якщо ви використовуєте поле дати для визначення умов і хочете заархівувати всі записи, старіші за поточну дату, введіть <Date() у рядку умов для поля дати.
Виконайте одну з таких дій:
Якщо ви вже створили таблицю архіву, додайте вказані записи до цієї таблиці за допомогою запиту на додавання.- На вкладці Конструктор у групі Тип запиту натисніть кнопку Додавання.
- У діалоговому вікні «Додавання» в полі «Ім'я таблиці» виберіть ім'я архівної таблиці та натисніть кнопку «OK».
У сітці макета запиту відображається рядок " Додавання до ". - Зніміть прапорець рядка « Додавання до» для всіх полів, які використовувалися для визначення умов. (Тільки зірочка повинна мати значення для команди "Додати до".)
Якщо ви ще не створювали таблицю архіву, використайте запит на створення таблиці архіву за допомогою вказаних записів: - На вкладці Конструктор у групі Тип запиту натисніть кнопку Створення таблиці.
- У діалоговому вікні "Створення таблиці" в полі "Ім'я таблиці" введіть ім'я архівної таблиці та натисніть кнопку "OK".
Натисніть сполучення клавіш Ctrl+S, щоб зберегти запит.
Крок 3. Створення запиту на видалення для видалення даних із вихідної таблиці
На вкладці Створити в групі Запити натисніть кнопку Конструктор запитів.
Додайте таблицю із записами, які потрібно заархівувати.
У вікні макета запиту двічі клацніть зірочку (*) у щойно доданій таблиці. Ім'я таблиці та зірочка відображаються в першому стовпці бланка запиту.
У вікні макета запиту двічі клацніть поля, які використовувалися для визначення умови в запиті на додавання.
Використовуйте рядок умов , щоб указати умови для щойно доданих полів. Докладні відомості про використання умов див. в статті Приклади умов запиту.
Важливо
Якщо запит на додавання або створення таблиці використовує параметр, переконайтеся, що запит на видалення також виконує його дії. Також пам'ятайте, що ви вводите однакове значення для обох запитів. Якщо ввести різні значення параметра, ви можете втратити дані. Щоб запобігти втраті даних, ми радимо використовувати форму для збору значень і зробити так, щоб запити запитували вхідні значення в ній. Докладні відомості див. в статті Загальні відомості про запити.
На вкладці Конструктор у групі Тип запиту натисніть кнопку Видалення.
Рядок "Видалити " з'явиться на бланку запиту.
Натисніть сполучення клавіш Ctrl+S, щоб зберегти запит.
Крок 4. Створення макросу для виконання запитів на додавання та видалення
- на вкладціСтворити у групі Макроси та код натисніть кнопку Макрос.
- Клацніть стрілку розкривного списку поруч із пунктом «Додати нову дію» та виберіть команду «Відкритизапит».
З'явиться дія "Відкритизапит" і відобразяться її аргументи. - У полі "Ім'я запиту " виберіть запит (додавання або створення таблиці), створений на кроці 2.
- Клацніть стрілку розкривного списку поруч із пунктом «Додати нову дію» та виберіть команду «Відкритизапит».
З'явиться дія "Відкритизапит" і відобразяться її аргументи. - У полі "Ім'я запиту " виберіть запит на видалення, створений на кроці 3.
- Натисніть клавіші Ctrl+S, щоб зберегти макрос.
Щоб заархівувати записи, запустіть макрос.