Архивация данных Access

Примечание: Мы стараемся как можно оперативнее обеспечивать вас актуальными справочными материалами на вашем языке. Эта страница переведена автоматически, поэтому ее текст может содержать неточности и грамматические ошибки. Для нас важно, чтобы эта статья была вам полезна. Просим вас уделить пару секунд и сообщить, помогла ли она вам, с помощью кнопок внизу страницы. Для удобства также приводим ссылку на оригинал (на английском языке).

Можно хранить базы данных Microsoft Access, упорядоченные и управлять ими, периодически заменяя старые или неактивные записи. Вы можете архивировать все таблицы базы данных, определенные таблицы или только определенные записи, например записи, которые старше определенной даты. В этой статье объясняется, как использовать три разных параметра для архивации данных в базе данных Access.

В этой статье

Когда следует учитывать архивирование?

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

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

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

Когда следует учитывать архивирование?

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

Способы архивации данных

В следующей таблице перечислены методы для архивации данных, описание метода, сведения о том, когда следует использовать каждый из них, а также другие особенности, связанные с этим методом.

Метод

Описание

Используйте When...

Другие рекомендации

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

Периодически формирует архивную копию определенной таблицы и заменяет ее новой пустой копией таблицы.

Все записи в таблице соответствуют условиям, которые используются для определения необходимости архивирования.

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

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

Периодически создавайте архивную копию серверной базы данных, а затем замените серверную базу данных новой, пустой. Требуется разделенная база данных (база данных — это файл базы данных, содержащий все таблицы), а также клиентский файл базы данных, содержащий все остальные объекты базы данных.

Все записи в большинстве таблиц в базе данных соответствуют условию, которое используется для определения необходимости архивирования.

Пример: база данных состоит из нескольких таблиц с различными типами данных метеорологикал. Каждый год вы заархивируетсяе все таблицы.

  • Если у вас есть таблицы подстановки (таблицы, которые вы используете для хранения значений для поиска, таких как почтовые индексы или отделы), вам может потребоваться импортировать эти данные в новую серверную базу данных.

  • Необходимо архивировать базу данных вручную. Вы не можете использовать макрос для этого метода.

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

Периодически запускает запрос, выбирающий записи для архивации, и добавляет их в архивную таблицу, а затем выполнит запрос, чтобы выбрать одинаковые записи (из исходной таблицы) и удалить их.

Некоторые записи в таблице соответствуют условию, используемому для определения необходимости архивирования.

Пример: вы хотите заархивировать транзакции библиотеки (извлечения), если дата возврата не меньше года.

  • Может потребоваться обойти целостность данных, особенно если записи, которые вы хотите заархивировать, находятся на одной стороне отношение "один-ко-многим". Дополнительные сведения см. в разделе обход ссылочной целостности .

Предупреждение:  Если вам нужно использовать параметры в запросах, необходимо создать форму для обработки параметров. В противном случае вы рискуете потерять данные.

Обход целостности данных

Если записи, которые нужно архивировать, связаны с записями в других таблицах, может потребоваться обойти эту связь. Если записи, которые вы хотите заархивировать, являются дочерними записями (они относятся к стороне "многие" в отношение "один-ко-многим" ), вы можете безопасно архивировать их без проблем. Если записи, которые вы хотите заархивировать, являются "родительскими" записями (они принадлежат стороне "один" в отношение "один-ко-многим" ), то при архивации их связанные дочерние записи могут:

  • Запретить удаление "родительских" записей. Это может привести к возникновению проблем, если в архивной таблице уже были добавлены "родительские" записи.

    - Или -

  • ПреОбразуются в "потерянные" — записи, которые принадлежат к несуществующему родительскому элементу. Это может привести к проблемам с целостностью данных и функциональностью в базе данных, которая использует потерянные записи.

Чтобы учесть целостность данных, выполните указанные ниже действия.

  1. Определите, какие дочерние записи относятся к записям, которые нужно архивировать. Например, чтобы архивировать записи основных ресурсов, которые выдаются в библиотеке, сначала определите, есть ли какие-либо проводки для этих ресурсов, то есть независимо от того, были ли ресурсы извлечены, но не возвращены.

  2. Выберите один из указанных ниже вариантов и следуйте инструкциям.

    • Если записи дочернего элемента всегда можно безопасно удалить, убедитесь, что связь обеспечивает целостность данных с помощью каскадных удалений. Это гарантирует, что все связанные "дочерние" записи будут удалены.

    • Если записи ребенка не могут быть безопасно удалены, рекомендуется архивировать все таблицы в базе данных.

    • Создание запроса, выбирающего родительские записи, у которых нет записей ребенка. Затем используйте первый запрос для создания архивных запросов (см. раздел периодический перенос записей в архивной таблице) вместо использования родительской таблицы.

К началу страницы

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

Если вы хотите заархивировать все данные в таблице, вы можете периодически заменить ее пустой копией.

Важно: Если вы заархивированная таблица связана с другими таблицами, возможно, потребуется обойти целостностьданных.

  1. В области навигации выберите таблицы, которые вы хотите заархивировать, нажмите клавиши CTRL + C, а затем нажмите клавиши CTRL + V.

  2. В диалоговом окне Вставка таблицы в разделе Параметры вставкивыберите только структура, а затем нажмите кнопку ОК.

Access присваивает копии имя исходной таблицы.

  1. В области навигации щелкните исходную таблицу правой кнопкой мыши и выберите в контекстном меню команду Переименовать .

ПриСвойте таблице другое имя, чтобы указать, что она содержит, например "DailyTemperatureExtremes_archive_2019".

  1. В области навигации щелкните пустую копию правой кнопкой мыши и выберите в контекстном меню команду Переименовать . Переименуйте его, используя имя исходной таблицы.

К началу страницы

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

При использовании разделенной базы данных можно периодически заменять все таблицы, заменяя ее на пустую копию.

Для этого сначала Подготовьте пустую копию. Если изменение структуры базы данных не изменилось, вы можете использовать эту пустую копию при каждом архивировании. Чтобы сохранить архив, переименуйте существующую серверную базу данных, чтобы указать, что она является архивом, и сохраните пустую копию в качестве новой серверной базы данных.

Подготовка пустой копии серверной базы данных

Сначала импортируйте определения таблиц для всех таблиц в серверной базе данных.

  1. На вкладке файл нажмите кнопку создать, выберите пункт пустая база данных, а затем нажмите кнопку создать.

  2. Закройте таблицу Table1.

  3. На вкладке Внешние данные в группе Импорт _амп_ ссылки нажмите кнопку Access.

  4. В диалоговом окне Внешние данные — база данных Access выберите Импорт таблиц, запросов, форм, отчетов, макросов и модулей в текущую базу данных, а затем нажмите кнопку Обзор.

  5. В диалоговом окне Открытие файла выберите серверную базу данных. Нажмите кнопку Открыть , чтобы закрыть диалоговое окно Открытие файла , а затем нажмите кнопку ОК.

  6. В диалоговом окне Импорт объектов нажмите кнопку Параметры.

  7. В разделе Импорт таблицвыберите только определение.

  8. На вкладке таблицы нажмите кнопку выделить все, а затем — кнопку ОК, а затем — кнопку Закрыть.

Затем добавьте данные в любые таблицы подстановки в пустую копию. Для каждой таблицы подстановки выполните указанные ниже действия.

  1. Ссылка на таблицу подстановки в существующей серверной базе данных.

  2. Создание запроса на добавление, который добавляет все записи из оригинала в копию.

Замена серверной базы данных пустой копией

Сначала переименуйте существующую серверную базу данных, чтобы указать, что она теперь является архивом. Затем откройте пустую копию и сохраните ее с исходным именем конечной базы данных.

  1. Откройте вкладку файл и выберите команду сохранить базу данных как. Возможно, вам будет предложено закрыть все открытые объекты; Нажмите кнопку ОК. Откроется диалоговое окно Сохранить как .

  2. В поле сохранить в (в верхней части диалогового окна Сохранение документа ) убедитесь, что файл сохраняется в том же месте, что и исходная база данных.

  3. В поле имя файла введите имя исходной серверной базы данных.

  4. В поле Тип файла выберите пункт база данных Access (ACCDB).

К началу страницы

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

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

Шаг 1: создание архивной таблицы

Шаг 2: Создание запроса на добавление для копирования данных в архивную таблицу

Шаг 3: Создание запроса на удаление для удаления данных из исходной таблицы

Шаг 4: Создание макроса для выполнения запросов на добавление и удаление

Шаг 1: создание архивной таблицы

Чтобы сохранить все архивные записи в одной таблице, выполните эти действия один раз. Архивная таблица, созданная на этом этапе, будет содержать все архивные записи.

Чтобы удалить старую архивную таблицу при создании новой, вместо этого действия можно скопировать данные в архивную таблицу с помощью запрос на создание таблицы. Для этого перейдите к шагу 2.

Чтобы использовать новую архивную таблицу при каждом архивировании, а также сохранить старые архивные таблицы, переименуйте старую архивную таблицу перед созданием новой. При архивации на основе даты, учитывая, что старые архивные таблицы будут названы в соответствии с указанным диапазоном дат.

  1. В области навигации выберите таблицу, содержащую записи, которые нужно архивировать, нажмите клавиши CTRL + C, а затем нажмите клавиши CTRL + V.

  2. В поле имя таблицы удалите слова копия , а затем добавьте подчеркивание и слово "Архив" в имя существующей таблицы, а затем нажмите кнопку ОК. Например, если исходная таблица называется Transactions , архивная таблица называется трансактионс_арчиве.

    Вставка таблицы

  3. В диалоговом окне Вставка таблицы в разделе Параметры вставкивыберите только структура.

Шаг 2: Создание запроса на добавление для копирования данных в архивную таблицу

  1. На вкладке Создание в группе Запросы нажмите кнопку Конструктор запросов.

  2. С помощью диалогового окна Добавление таблицы добавьте таблицу с записями, которые вы хотите заархивировать, и закройте диалоговое окно Добавление таблицы .

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

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

  4. В окне конструктора запросов дважды щелкните поле, которое вы хотите использовать, чтобы указать условие, в котором должны состоится записи, прежде чем заархивировать их. Например, если в таблице транзакций есть поле с именем " возвращено", и вы хотите архивировать все записи, для которых указана дата более старой версии, дважды щелкните поле, и оно появится в следующем пустом столбце бланка запроса.

    Сетка бланк запроса

    Повторите это действие, если вы хотите использовать условия с дополнительными полями.

  5. Используйте строку условия , чтобы задать условия для только что добавленных полей. Например, вы можете указать, что дата возврата должна предшествовать 1 января 2019 с помощью выражения _лт_ # 1/1/2019 # в строке Условие отбора .

    Если значения условий будут изменяться при каждом архивировании, необходимо сделать так, чтобы запрос запрашивал ввод. Для этого используйте параметр в строке Условие отбора , чтобы запрос мог запрашивать ввод. Чтобы использовать параметр, используйте выражение, как обычно, но вместо указанного значения используйте краткий вопрос, заключенный в квадратные скобки. Например, вы можете использовать выражение _лт_ [архивные транзакции, завершенные до:], например:

    Выражение с параметром

    Дополнительные сведения об использовании параметров см. в статье Знакомство с запросами.

    Вы также можете использовать эту строку для задания альтернативных условий. Дополнительные сведения об использовании условий см. в статье Примеры условий запроса.

    Совет: Если вы используете поле даты, чтобы задать условия, и хотите заархивировать все записи, которые старше текущей даты, введите _лт_дате () в строке Условие отбора для поля даты.

  6. Выберите один из указанных ниже вариантов и следуйте инструкциям.

    Если вы уже создали архивную таблицу, добавьте в нее указанные записи с помощью запроса на добавление.

    1. На вкладке Разработка в группе Тип запроса выберите команду Добавить.

    2. В диалоговом окне Добавление в поле имя таблицы выберите имя архивной таблицы, а затем нажмите кнопку ОК.

      Добавление записей

      В бланке запроса появится строка Добавить к .

    3. Очистите строку Добавление к полям, которые использовались для задания условий отбора. (Только звездочка должна иметь значение для параметра append.)

      Бланк запроса с добавлением в строку

      Если вы не создали архивную таблицу, используйте запрос на создание таблицы для создания архивной таблицы с использованием указанных записей.

    4. На вкладке Конструктор в группе Тип запроса нажмите кнопку Создание таблицы.

    5. В диалоговом окне Создание таблицы введите имя архивной таблицы в поле имя таблицы и нажмите кнопку ОК.

  7. Нажмите сочетание клавиш CTRL+S, чтобы сохранить запрос.

Шаг 3: Создание запроса на удаление для удаления данных из исходной таблицы

  1. На вкладке Создание в группе Запросы нажмите кнопку Конструктор запросов.

  2. С помощью диалогового окна Добавление таблицы добавьте таблицу, содержащую записи, которые нужно архивировать. Закройте диалоговое окно Добавление таблицы.

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

  4. В окне конструктора запросов дважды щелкните те же поля, которые использовались для указания условия в запросе на добавление.

  5. Используйте строку условия , чтобы задать условия для только что добавленных полей. Дополнительные сведения об использовании условий см. в статье Примеры условий запроса.

    Важно: Если в запросе на добавление или на создание таблицы используется параметр, убедитесь, что запрос на удаление выполняется. Также помните, что для обоих запросов можно ввести одно и то же значение. Если введены разные значения параметров, данные могут быть потеряны. Чтобы предотвратить потерю данных, попробуйте использовать форму для сбора значений и запросите в форме ввод входных значений. Дополнительные сведения см. в статье Знакомство с запросами.

  6. На вкладке Конструктор в группе Тип запроса нажмите кнопку Удаление.

    В бланке запроса появится строка Delete (удалить ).

    Строка "Удалить" в бланке запроса

  7. Нажмите сочетание клавиш CTRL+S, чтобы сохранить запрос.

Шаг 4: Создание макроса для выполнения запросов на добавление и удаление

  1. На вкладке Создание в группе Макросы и код нажмите кнопку Макрос.

  2. Щелкните стрелку раскрывающегося списка рядом с кнопкой Добавить новое действиеи выберите команду OPENQUERY.

    Появится действие OPENQUERY , в котором отображаются аргументы.

  3. В поле имя запроса выберите запрос (Добавление или создание таблицы), созданный на шаге 2.

  4. Щелкните стрелку раскрывающегося списка рядом с кнопкой Добавить новое действиеи выберите команду OPENQUERY.

    Появится действие OPENQUERY , в котором отображаются аргументы.

  5. В поле имя запроса выберите запрос на удаление, созданный на шаге 3.

  6. Нажмите клавиши CTRL + S, чтобы сохранить макрос.

    Если вы хотите архивировать записи, запустите макрос.

К началу страницы

Совершенствование навыков работы с Office
Перейти к обучению
Первоочередный доступ к новым возможностям
Присоединиться к программе предварительной оценки Office

Были ли сведения полезными?

Спасибо за ваш отзыв!

Благодарим за отзыв! Возможно, будет полезно связать вас с одним из наших специалистов службы поддержки Office.

×