Applies ToAccess за Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Можете да поддържате базите данни на Microsoft Access организирани и управляеми, като архивирате периодично стари или неактивни записи. Можете да архивирате всички таблици в база данни, конкретни таблици или само определени записи – например записи, които са по-стари от определена дата. Тази тема обяснява как да използвате три различни опции за архивиране на данните във вашата база данни на Access.

В тази статия

Кога трябва да обмислите архивиране?

Когато база данни на вашия компютър съдържа данни, които не планирате да използвате повече, но искате да запазите тези данни полезни, в случай че имате нужда от тях в някакъв момент или за да се справите с правилата за съхранение на данните, архивирането е добър начин да запазите тези данни. Архивирането често се използва и за запазване на данни на базата на условие за дата, като например в края на месеца.

Начини за архивиране на данни

Следващата таблица описва методите за архивиране на данни, описание на метода, обяснение кога трябва да използвате всеки метод и други специфични съображения за метода.

Метод

Описание

Използвайте, когато...

Други съображения

Периодично заместване на таблица

Периодично прави архивно копие на конкретна таблица и замества тази таблица с ново копие на празна таблица.

Всички записи в таблицата отговарят на условията, които използвате, за да определите дали да архивирате.ПРИМЕР: You have a table that stores daily temperature extremes. Всяка година архивирате таблицата и започвате начисто с празна.

Периодично заместване на всички таблици

Периодично направете архивно копие на сървъра за база данни и след това заместете базата данни на сървъра с нова, празна. Изисква разделена база данни (база данни, съдържаща: файл на бек-енд база данни, съдържащ всички таблици; и клиентски файл на база данни, съдържащ всички други обекти на базата данни).

Всички записи в повечето от таблиците в базата данни отговарят на условието, което използвате, за да определите дали да архивирате.ПРИМЕР: Вашата база данни се състои от няколко таблици с различни видове метеорологични данни. Всяка година архивирате всички таблици.

  • Ако имате справочни таблици (таблици, които използвате, за да съхранявате стойности за търсене, например пощенски кодове или отдели), може да се наложи да импортирате тези данни в новата бек-енд база данни.

  • Трябва да архивирате базата данни ръчно. Не можете да използвате макрос за този метод.

Периодично преместване на записи в архивна таблица

Периодично изпълнява заявка, която избира записите за архивиране, добавя данните в архивна таблица и след това изпълнявате заявка, за да изберете същите записи (от първоначалната таблица) и да ги изтриете.

Някои от записите в таблица отговарят на условието, което използвате, за да определите дали да архивирате.ПРИМЕР: Искате да архивирате транзакции на библиотеки (извличания), ако датата на вкарване е поне на една година.

  • Може да се наложи да заобиколите цялост на връзките, особено ако записите, които искате да архивирате, са от едната страна на релация "един към много". За повече информация вижте раздела Работа с целостта на връзките .

Предупреждение: Ако трябва да използвате параметри във вашите заявки, трябва да създадете формуляр за обработка на параметрите. В противен случай рискувате да загубите данни.

Работа по целостта на връзките

Ако записите, които искате да архивирате, са свързани със записи в други таблици, може да се наложи да заобиколите релацията. Ако записите, които искате да архивирате, са "дъщерни" записи (те принадлежат към страната "много" на релация "един към много" ), вероятно можете безопасно да ги архивирате, без да се безпокоите. Ако записите, които искате да архивирате, са "родителски" записи (те принадлежат към страната "един" на релация "един към много" ), когато ги архивирате, свързаните с тях "дъщерни" записи могат да:

  • Забраняване на изтриването на "родителските" записи. Това може да доведе до проблеми, ако вече сте добавили "родителските" записи към архивната таблица.

    -или-

  • Станете "изолирани" – записите, които принадлежат на "родител", който не съществува. Това може да доведе до проблеми с целостта и функционалността на данните във вашата база данни, която използва "изолираните" записи.

За да се отчете целостта на връзките, изпълнете следните стъпки:

  1. Определете кои "дъщерни" записи принадлежат на записите, които искате да архивирате. Например за да архивирате записите на активите, които се дават на заем от библиотека, първо проверете дали има отворени транзакции за тези активи, т.е. дали активите са извлечени, но не са върнати.

  2. Направете едно от следните неща:

    • Ако "дъщерните" записи винаги могат да бъдат изтрити безопасно, уверете се, че релацията поддържа целостта на връзките с каскадни изтривания. Това гарантира, че всички свързани "дъщерни" записи ще бъдат изтрити.

    • Ако дъщерните записи не винаги могат да бъдат изтрити безопасно, обмислете дали да не архивирате всички таблици в базата данни.

    • Създаване на съдържание заявка, която избира "родителски" записи, които нямат дъщерни записи. След това използвайте първата заявка, за да създадете вашите заявки за архивиране (вж. раздела Периодично преместване на записи в архивна таблица), вместо да използвате таблицата "родител".

Най-горе на страницата

Периодично заместване на таблица

Ако искате да архивирате всички данни в таблица, можете периодично да заместите таблицата с празно копие.

Важно: Ако таблицата, която архивирате, е свързана с други таблици, може да се наложи да заобиколите целостта на връзките.

  1. В навигационния екран изберете таблиците, които искате да архивирате, натиснете CTRL+C и след това натиснете CTRL+V.

  2. В диалоговия прозорец Поставяне на таблица като , под Опции за поставяне изберете Само структурата и след това щракнете върху OK.Access именуване на копието като копие на първоначалното име на таблицата.

  3. В навигационния екран щракнете с десния бутон върху оригиналната таблица и след това щракнете върху Преименуване в контекстното меню.Дайте на таблицата друго име, за да укажете какво съдържа, като например "DailyTemperatureExtremes_archive_2019".

  4. В навигационния екран щракнете с десния бутон върху празното копие и след това щракнете върху Преименуване в контекстното меню. Преименувайте я с името на първоначалната таблица.

Най-горе на страницата

Периодично заместване на всички таблици

Ако използвате разделена база данни, можете периодично да замествате всички таблици, като заместите сървъра с празно копие.

За да направите това, първо подгответе празното копие. Освен ако проектът на вашата база данни не се промени, можете да използвате повторно това празно копие всеки път, когато архивирате. За да архивирате, просто преименувайте съществуващата база данни на сървъра, за да укажете, че това е архив, и запишете празното копие като нова база данни на сървъра.

Подготовка на празно копие на база данни на сървъра

Първо, импортирайте дефинициите на таблиците за всички таблици в сървърната база данни.

  1. В раздела Файл щракнете върху Създай, изберете Празна база данни и след това щракнете върху Създаване на съдържание.

  2. Затваряне на таблица1.

  3. В раздела Външни данни , в групата Импортиране & връзка щракнете върху Access.

  4. В диалоговия прозорец Получаване на външни данни – база данни на Access изберете Импортиране на таблици, заявки, формуляри, отчети, макроси и модули в текущата база данни и след това щракнете върху Преглед.

  5. В диалоговия прозорец Отваряне на файл изберете сървърната база данни. Щракнете върху Отвори , за да затворите диалоговия прозорец Отваряне на файл , и след това щракнете върху OK.

  6. В диалоговия прозорец Импортиране на обекти щракнете върху Опции.

  7. Под Импортиране на таблици изберете Само дефиниция.

  8. В раздела Таблици щракнете върху Избери всички, щракнете върху OK и след това върху Затвори.

Добавяне на данни към всички таблици за справки в празното копие 

За всяка таблица за справка изпълнете следните стъпки:

  1. Връзка към таблицата за справки в съществуващата сървърна база данни.

  2. Създаване на съдържание заявка за добавяне, която добавя в копието всички записи от оригинала.

Заместване на базата данни на сървъра с празно копие

Първо, преименувайте съществуващата бек-енд база данни, за да укажете, че сега това е архив. След това отворете празното копие и го запишете с помощта на първоначалното име на сървъра на базата данни.

  1. Щракнете върху раздела Файл и след това върху Запиши базата данни като. Може да бъдете подканени да затворите всички отворени обекти; ако е така, щракнете върху OK. Отваря се диалоговият прозорец Запиши като .

  2. В полето Запиши в (в горния край на диалоговия прозорец Запиши като ) се уверете, че записвате файла на същото място като първоначалната сървърна база данни.

  3. В полето Име на файл въведете името на първоначалната сървърна база данни.

  4. В полето Запиши като тип изберете База данни на Access (*.accdb).

Най-горе на страницата

Периодично преместване на записи в архивна таблица

Това е процес от четири стъпки, който изисква да направите празно копие на таблицата, съдържаща записите, които искате да архивирате, да създадете заявка за добавяне, за да копирате записите от първоначалната таблица в архивната таблица, да създадете заявка за изтриване, за да премахнете архивираните записи от първоначалната таблица, и накрая да създадете макрос, за да изпълните и двете заявки, които могат да бъдат изпълнени, когато искате да архивирате. Този привидно сложен процес може да бъде лесен, ако следвате стъпките в реда, в който са представени по-долу:

Стъпка 1: Създаване на съдържание архивна таблица

Стъпка 2: Създаване на съдържание заявка за добавяне, за да копирате данните в архивната таблица

Стъпка 3: Създаване на съдържание заявка за изтриване, за да премахнете данни от първоначалната таблица

Стъпка 4: Създаване на съдържание макрос, за да изпълните заявки за добавяне и изтриване

Стъпка 1: Създаване на съдържание архивна таблица

За да запазите всички архивирани записи в една таблица, изпълнете тази стъпка веднъж. Архивната таблица, която създавате в тази стъпка, ще съдържа всички ваши архивирани записи.

За да изтриете старата архивна таблица, когато създавате нова, вместо да изпълнявате тази стъпка, можете да използвате заявка за създаване на таблица, за да копирате данните в архивната таблица. За да направите това, преминете направо към стъпка 2.

За да използвате нова архивна таблица всеки път, когато архивирате, но за да запазите старите си архивни таблици, преименувайте старата архивна таблица, преди да създадете нова. Ако архивирате на базата на дата, обмисляйте наименуване на вашите стари архивни таблици според диапазона от дати, които представят.

  1. В навигационния екран изберете таблицата, която има записи за архивиране, натиснете CTRL+C и след това натиснете CTRL+V.

  2. В полето Име на таблица изтрийте думите Копирай на и добавете долна черта и думата "архив" към името на съществуващата таблица и след това щракнете върху OK. Ако например първоначалната таблица е с име Транзакции , архивната таблица е с име Transactions_archive.

    Поставяне на таблицата като

  3. В диалоговия прозорец Поставяне на таблицата като , под Опции за поставяне изберете Само структурата.

Стъпка 2: Създаване на съдържание заявка за добавяне, за да копирате данните в архивната таблица

  1. В раздела Създаване, в групата Заявки щракнете върху Проектиране на заявка.

  2. Добавете таблицата със записите, които искате да архивирате.

  3. В прозореца за проектиране на заявки щракнете двукратно върху звездичката (*) в таблицата, която току-що добавихте. Името на таблицата и звездичката се показват в първата колона на мрежата на заявката за проектиране.

    Забележка: Звездичката показва, че заявката трябва да включва всички полета от таблицата в резултата от заявката. Когато използвате звездичката, ако са добавени или премахнати полета от таблицата, резултатът от заявката съответно се настройва.

  4. В прозореца за проектиране на заявки щракнете двукратно върху полето, което искате да използвате, за да зададете условие, на което трябва да отговарят записите, преди да ги архивирате. Ако например вашата таблица Транзакции има поле, наречено Дата на вкарване, и искате да архивирате всички записи, където тази дата е на повече от една година, щракнете двукратно върху полето и то се появява в следващата празна колона на мрежата за проектиране на заявки.

    Мрежа на заявка за проектиране

    Повторете тази стъпка, ако искате да използвате критерии с допълнителни полета.

  5. Използвайте реда Критерии, за да зададете критерии за полетата, които току-що добавихте. Може например да укажете датата на вкарване да е преди 1 януари 2019 г. с помощта на израза <#1/1/2019# в реда Критерии .

    Ако стойностите на вашите критерии се променят всеки път, когато архивирате, трябва да накарате вашата заявка да иска въвеждане на данни. За да направите това, можете да използвате параметър в реда Критерии , така че заявката да иска въвеждане на данни. За да използвате параметър, използвайте израз както обикновено, но вместо зададена стойност използвайте кратък въпрос, ограден с квадратни скоби. Например можете да използвате израза <[Архивирай транзакциите, завършени преди:], ето така:

    Израз с параметър

    За повече информация относно използването на параметри вж. статията Въведение в заявките.

    Можете също да използвате реда или , за да зададете алтернативни условия. За повече информация относно използването на критерии вж. статията Примери на критерии за заявки.

    Съвет: Ако използвате поле за дата, за да зададете критерии, и искате да архивирате всички записи, които са по-стари от текущата дата, въведете <Date() в реда Критерии за полето за дата.

  6. Направете едно от следните неща:

    Ако вече сте създали архивната таблица, използвайте заявка за добавяне, за да добавите указаните записи към тази таблица:

    1. В раздела Структура, в групата Тип заявка щракнете върху Добавяне.

    2. В диалоговия прозорец Добавяне , в полето Име на таблица изберете името на архивната таблица и след това щракнете върху OK.

      Добави към

      В мрежата на заявката за проектиране се появява редът Добави към .

    3. Изчистете реда Добави към за всички полета, които сте използвали за задаване на критерии. (Само звездичката трябва да има стойност за Добави към.)

      Редът ''Добави към'' на мрежата на заявка за проектиране

      Ако не сте създали архивната таблица, използвайте заявка за създаване на таблица, за да създадете архивната таблица с помощта на указаните записи:

    4. В раздела Структура, в групата Тип на заявката щракнете върху Създаване на таблица.

    5. В диалоговия прозорец Създаване на таблица , в полето Име на таблица въведете името на архивната таблица и след това щракнете върху OK.

  7. Натиснете CTRL+S, за да запишете заявката.

Стъпка 3: Създаване на съдържание заявка за изтриване, за да премахнете данни от първоначалната таблица

  1. В раздела Създаване, в групата Заявки щракнете върху Проектиране на заявка.

  2. Добавете таблицата със записите, които искате да архивирате.

  3. В прозореца за проектиране на заявки щракнете двукратно върху звездичката (*) в таблицата, която току-що добавихте. Името на таблицата и звездичката се показват в първата колона на мрежата на заявката за проектиране.

  4. В прозореца за проектиране на заявки щракнете двукратно върху същите полета, които сте използвали за задаване на условие в заявката за добавяне.

  5. Използвайте реда Критерии, за да зададете критерии за полетата, които току-що добавихте. За повече информация относно използването на критерии вж. статията Примери на критерии за заявки.

    Важно: Ако заявката за добавяне или създаване на таблица е използвала параметър, уверете се, че вашата заявка за изтриване прави това също. Също така не забравяйте, че въвеждате една и съща стойност и за двете заявки. Ако въведете различни стойности на параметри, може да загубите данни. За да предотвратите загуба на данни, помислете дали да не използвате формуляр за събиране на стойностите, и да направите така, че заявките да питат формуляра за входните стойности. За повече информация вж. статията Въведение в заявките.

  6. В раздела Проектиране, в групата Тип на заявката щракнете върху Изтриване.

    Редът Изтриване се показва в мрежата за проектиране на заявки.

    Редът ''Изтриване'' в мрежата за проектиране на заявката

  7. Натиснете CTRL+S, за да запишете заявката.

Стъпка 4: Създаване на съдържание макрос, за да изпълните заявки за добавяне и изтриване

  1. В раздела Създаване, в групата Макроси и код щракнете върху Макрос.

  2. Щракнете върху стрелката на падащото меню до Добавяне на ново действие и след това щракнете върху OpenQuery.

    Действието OpenQuery се появява и показва аргументите си.

  3. В полето Име на заявка изберете заявката (добавяне или създаване на таблица), която създадохте в стъпка 2.

  4. Щракнете върху стрелката на падащото меню до Добавяне на ново действие и след това щракнете върху OpenQuery.

    Действието OpenQuery се появява и показва аргументите си.

  5. В полето Име на заявка изберете заявката за изтриване, която създадохте в стъпка 3.

  6. Натиснете CTRL+S, за да запишете макроса.

    Когато искате да архивирате записи, изпълнете макроса.

Най-горе на страницата

Нуждаете ли се от още помощ?

Искате ли още опции?

Разгледайте ползите от абонамента, прегледайте курсовете за обучение, научете как да защитите устройството си и още.

Общностите ви помагат да задавате и отговаряте на въпроси, да давате обратна връзка и да получавате информация от експерти с богати знания.