Você pode manter seus bancos de dados do Microsoft Access organizados e gerenciáveis arquivando periodicamente registros antigos ou inativos. Você pode arquivar todas as tabelas em um banco de dados, tabelas específicas ou apenas registros específicos — por exemplo, registros anteriores a uma determinada data. Este tópico explica como usar três opções diferentes para arquivar os dados em seu banco de dados do Access.
Neste artigo
- Quando você deve considerar o arquivamento?
- Substituir periodicamente uma tabela
- Substituir periodicamente todas as tabelas
- Mova periodicamente os registros para uma tabela de arquivamento
Quando você deve considerar o arquivamento?
Quando um banco de dados no computador contém dados que você não pretende mais usar, mas deseja mantê-los à mão caso precise deles em algum momento ou para atender a uma política de retenção de dados, o arquivamento é uma boa maneira de reter esses dados. O arquivamento também é frequentemente usado para manter os dados com base em uma condição de data, como no final de um mês.
Maneiras de arquivar dados
A tabela a seguir lista os métodos para arquivar dados, uma descrição do método, uma explicação de quando você deve usar cada método e outras considerações específicas para o método.
| Preparação | Descrição | Usar quando... | Outras considerações |
|---|---|---|---|
| Substituir periodicamente uma tabela | Faz periodicamente uma cópia de arquivo morto de uma tabela específica e substitui essa tabela por uma nova cópia de tabela vazia. | Todos os registros em uma tabela atendem às condições que você usa para determinar se deseja arquivar. EXEMPLO: Você tem uma tabela que armazena temperaturas extremas diárias. Todos os anos, você arquiva a tabela e começa do zero com uma vazia. |
|
| Substituir periodicamente todas as tabelas | Faça periodicamente uma cópia de arquivo morto do banco de dados de back-end e, em seguida, substitua o banco de dados de back-end por um novo e vazio. Requer um banco de dados dividido (um banco de dados composto por: um arquivo de banco de dados back-end que contém todas as tabelas e um arquivo de banco de dados front-end que contém todos os outros objetos de banco de dados). | Todos os registros na maioria das tabelas em um banco de dados atendem à condição usada para determinar se deseja arquivar. EXEMPLO: seu banco de dados consiste em várias tabelas com diferentes tipos de dados meteorológicos. A cada ano, você arquiva todas as tabelas. |
|
| Mova periodicamente os registros para uma tabela de arquivamento | Periodicamente executa uma consulta que seleciona os registros para arquivamento e adiciona os dados a uma tabela de arquivamento e, em seguida, você executa uma consulta para selecionar os mesmos registros (da tabela original) e excluí-los. | Alguns dos registros em uma tabela atendem à condição que você usa para determinar se deseja arquivar. EXEMPLO: você deseja arquivar transações da biblioteca (marcar check-outs) se a data de check-in tiver pelo menos um ano. |
Atenção: Se você precisar usar parâmetros em suas consultas, deverá criar um formulário para lidar com os parâmetros. Caso contrário, você corre o risco de perder dados. |
Contornar a integridade referencial
Se os registros que você deseja arquivar estiverem relacionados aos registros de outras tabelas, talvez seja necessário contornar a relação. Se os registros que você deseja arquivar forem registros "filho" (eles pertencem ao lado "muitos" de uma relação um-para-muitos), você provavelmente poderá arquivá-los com segurança sem preocupação. Se os registros que você deseja arquivar forem registros "pai" (eles pertencem ao lado "um" de uma relação um-para-muitos), quando você arquivá-los, os registros "filho" relacionados poderão:
- Impedem que você exclua os registros "pai". Isso pode causar problemas se você já tiver anexado os registros "pai" à tabela de arquivamento.
- Ou -
- Tornem-se "órfãos" — registros que pertencem a um "pai" que não existe. Isso pode causar problemas com a integridade e a funcionalidade dos dados no banco de dados que usa os registros "órfãos".
Para levar em conta a integridade referencial, execute as seguintes etapas:
Determine quais registros "filho" pertencem aos registros que você deseja arquivar. Por exemplo, para arquivar registros de ativos que são emprestados em uma biblioteca, primeiro determine se há transações abertas nesses ativos, ou seja, se os ativos foram verificados, mas não devolvidos.
Siga um destes procedimentos:
- Se os registros "filho" sempre puderem ser excluídos com segurança, verifique se a relação impõe integridade referencial, com exclusões em cascata. Isso garante que todos os registros "filho" relacionados sejam excluídos.
- Se os registros "filho" nem sempre podem ser excluídos com segurança, considere arquivar todas as tabelas no banco de dados.
- Crie uma consulta que selecione registros "pai" que não tenham registros "filho". Em seguida, use essa primeira consulta para criar suas consultas de arquivamento (consulte a seção Mover registros periodicamente para uma tabela de arquivamento), em vez de usar a tabela "pai".
Substituir periodicamente uma tabela
Se você quiser arquivar todos os dados em uma tabela, poderá substituir periodicamente a tabela por uma cópia vazia.
Importante
Se a tabela que você arquivar estiver relacionada a outras tabelas, talvez seja necessário contornar a integridade referencial.
No Painel de Navegação, selecione as tabelas que deseja arquivar, pressione CTRL+C e CTRL+V.
Na caixa de diálogo Colar Tabela Como, em Opções de Colagem, selecione Somente Estrutura e clique em OK.
O Access nomeia a cópia como uma cópia do nome da tabela original.
No Painel de Navegação, clique com o botão direito do mouse na tabela original e clique em Renomear no menu de atalho.
Dê outro nome à tabela para indicar o que ela contém, como "DailyTemperatureExtremes_archive_2019".
No Painel de Navegação, clique com o botão direito do mouse na cópia vazia e clique em Renomear no menu de atalho. Renomeie-a com o nome da tabela original.
Substituir periodicamente todas as tabelas
Se você usar um banco de dados dividido, poderá substituir periodicamente todas as tabelas, substituindo o banco de dados back-end por uma cópia vazia.
Para fazer isso, primeiro prepare a cópia vazia. A menos que o design do seu banco de dados mude, você pode reutilizar essa cópia vazia sempre que arquivar. Para arquivar, basta renomear o banco de dados de back-end existente para indicar que ele é um arquivo morto e salvar a cópia vazia como o novo banco de dados de back-end.
Preparar uma cópia vazia de um banco de dados back-end
Primeiro, importe as definições de tabela para todas as tabelas no banco de dados back-end.
- Na guia Arquivo , clique em Novo, selecione Banco de dados em branco e clique em Criar.
- Feche a Tabela1.
- Na guia Dados Externos , no grupo Importar & Vincular , clique em Access.
- Na caixa de diálogo Obter Dados Externos – Banco de dados do Access , selecione Importar tabelas, consultas, formulários, relatórios, macros e módulos no banco de dados atual e clique em Procurar.
- Na caixa de diálogo Abrir Arquivo , selecione o banco de dados back-end. Clique em Abrir para fechar a caixa de diálogo Abrir Arquivo e clique em OK.
- Na caixa de diálogo Importar Objetos , clique em Opções.
- Em Importar tabelas, selecione Somente definição.
- Na guia Tabelas , clique em Selecionar Tudo, clique em OK e em Fechar.
Adicionar dados a qualquer tabela de pesquisa na cópia vazia
Para cada tabela de pesquisa, execute as seguintes etapas:
- Vincular à tabela de pesquisa no banco de dados back-end existente.
- Crie uma consulta de acréscimo que adicione todos os registros do original à cópia.
Substitua o banco de dados back-end por uma cópia vazia
Primeiro, renomeie o banco de dados de back-end existente para indicar que agora é um arquivo morto. Em seguida, abra a cópia vazia e salve-a usando o nome do banco de dados back-end original.
- Clique na guia Arquivo e clique em Salvar Banco de Dados Como. Você pode ser solicitado a fechar todos os objetos abertos; Em caso afirmativo, clique em OK. A caixa de diálogo Salvar como é aberta.
- Na caixa Salvar ( na parte superior da caixa de diálogo Salvar como ), verifique se você está salvando o arquivo no mesmo local que o banco de dados back-end original.
- Na caixa Nome do Arquivo , insira o nome do banco de dados back-end original.
- Na caixa Salvar como tipo, selecione Banco de Dados do Access (*.accdb).
Mova periodicamente os registros para uma tabela de arquivamento
Esse é um processo de quatro etapas que requer fazer uma cópia vazia da tabela que contém os registros que você deseja arquivar, criar uma consulta de acréscimo para copiar os registros da tabela original para a tabela de arquivamento, criar uma consulta de exclusão para remover os registros arquivados da tabela original e, finalmente, criar uma macro para executar ambas as consultas que podem ser executadas quando você deseja arquivar. Esse processo aparentemente complexo pode ser fácil se você seguir as etapas na ordem em que são apresentadas abaixo:
Etapa 1: Criar uma tabela de arquivamento
Etapa 2: Criar uma consulta acréscimo para copiar dados para a tabela de arquivamento
Etapa 3: Criar uma consulta exclusão para remover dados da tabela original
Etapa 4: Criar uma macro para executar consultas acréscimo e exclusão
Etapa 1: Criar uma tabela de arquivamento
Para manter todos os seus registros arquivados em uma tabela, execute esta etapa uma vez. A tabela de arquivamento que você criar nesta etapa conterá todos os seus registros arquivados.
Para excluir sua tabela de arquivamento antiga ao criar uma nova, em vez de fazer esta etapa, você pode usar uma consulta criar tabela para copiar os dados para sua tabela de arquivamento. Para fazer isso, vá para a Etapa 2.
Para usar uma nova tabela de arquivamento sempre que você arquivar, mas também para manter suas tabelas de arquivamento antigas, renomeie a tabela de arquivamento antiga antes de criar uma nova. Se você estiver arquivando com base em uma data, considere nomear suas tabelas de arquivamento antigas de acordo com o intervalo de datas que elas representam.
- No Painel de Navegação, selecione a tabela que tem registros a serem arquivados, pressione CTRL+C e, em seguida, pressione CTRL+V.
- Na caixa Nome da Tabela, exclua as palavras Copiar De e acrescente um sublinhado e a palavra "arquivar" ao nome da tabela existente e clique em OK. Por exemplo, se a tabela original for denominada Transações , a tabela de arquivo morto será nomeada Transactions_archive.
- Na caixa de diálogo Colar Tabela Como , em Opções de Colagem, selecione Somente Estrutura.
Etapa 2: Criar uma consulta acréscimo para copiar dados para a tabela de arquivamento
Na guia Criar, no grupo Consultas, clique em Design da Consulta.
Adicione a tabela com os registros que você deseja arquivar.
Na janela de design da consulta, clique duas vezes no asterisco (*) na tabela que você acabou de adicionar. O nome da tabela e um asterisco aparecem na primeira coluna da grade de design da consulta.
Observação
O asterisco indica que a consulta deve incluir todos os campos da tabela na saída da consulta. Quando você usa o asterisco, se campos forem adicionados ou removidos da tabela, a saída da consulta se ajustará de acordo.
Na janela de design da consulta, clique duas vezes no campo que você deseja usar para especificar uma condição que os registros devem atender antes de arquivá-los. Por exemplo, se sua tabela de Transações tiver um campo denominado Data de Check-in e você quiser arquivar todos os registros em que essa data tenha mais de um ano, clique duas vezes no campo e ele aparecerá na próxima coluna vazia da grade de design de consulta.
Repita esta etapa se quiser usar critérios com campos adicionais.Use a linha Critérios para especificar critérios para os campos que você acabou de adicionar. Por exemplo, você pode especificar que a Data de Check-in deve ser anterior a 1º de janeiro de 2019 usando a expressão <#1/1/2019# na linha Critérios .
Se os valores dos critérios mudarem sempre que você arquivar, faça com que sua consulta solicite entradas. Para fazer isso, use um parâmetro na linha Critérios para que a consulta solicite entradas. Para usar um parâmetro, use uma expressão como faria normalmente, mas, em vez de um valor especificado, use uma breve pergunta entre colchetes. Por exemplo, você pode usar a expressão <[Arquivo de transações concluídas antes:], da seguinte forma:
Para obter mais informações sobre o uso de parâmetros, consulte o artigo Introdução às consultas.
Você também pode usar a linha ou para especificar condições alternativas. Para obter mais informações sobre como usar critérios, confira o artigo Exemplos de critérios de consulta.Dica
Se você estiver usando um campo de data para especificar critérios e quiser arquivar todos os registros mais antigos do que a data atual, insira <Date() na linha Critérios do campo de data.
Siga um destes procedimentos:
Se você já tiver criado a tabela de arquivamento morto, use uma consulta de acréscimo para adicionar os registros especificados a essa tabela:- Na guia Design, no grupo Tipo de Consulta, clique em Acrescentar.
- Na caixa de diálogo Acrescentar, na caixa Nome da Tabela, selecione o nome da tabela de arquivamento e clique em OK.
Na grade de design da consulta, a linha Acrescentar a é exibida. - Desmarque a linha Acrescentar a todos os campos usados para especificar critérios. (Somente o asterisco deve ter um valor para Acrescentar a.)
Se você não tiver criado a tabela de arquivamento, use uma consulta criar tabela para criar a tabela de arquivamento usando os registros especificados: - Na guia Design, no grupo Tipo de Consulta, clique em Criar Tabela.
- Na caixa de diálogo Criar Tabela, na caixa Nome da Tabela, digite o nome da tabela de arquivamento e clique em OK.
Pressione CTRL+S para salvar a consulta.
Etapa 3: Criar uma consulta exclusão para remover dados da tabela original
Na guia Criar, no grupo Consultas, clique em Design da Consulta.
Adicione a tabela com os registros que você deseja arquivar.
Na janela de design da consulta, clique duas vezes no asterisco (*) na tabela que você acabou de adicionar. O nome da tabela e um asterisco aparecem na primeira coluna da grade de design da consulta.
Na janela de design da consulta, clique duas vezes nos mesmos campos usados para especificar uma condição na consulta acréscimo.
Use a linha Critérios para especificar critérios para os campos que você acabou de adicionar. Para obter mais informações sobre como usar critérios, confira o artigo Exemplos de critérios de consulta.
Importante
Se a consulta de acréscimo ou criar tabela usou um parâmetro, verifique se sua consulta de exclusão também usa esse parâmetro. Lembre-se também de que você insere o mesmo valor para ambas as consultas. Se você inserir valores de parâmetro diferentes, poderá perder dados. Para ajudar a evitar a perda de dados, considere usar um formulário para coletar os valores e fazer com que as consultas solicitem os valores de entrada ao formulário. Para saber mais, confira o artigo Introdução às consultas.
Na guia Design , no grupo Tipo de Consulta , clique em Excluir.
A linha Excluir aparece na grade de design da consulta.
Pressione CTRL+S para salvar a consulta.
Etapa 4: Criar uma macro para executar consultas acréscimo e exclusão
- Na guia Criar, no grupo Macros e Código, clique em Macro.
- Clique na seta suspensa ao lado de Adicionar Nova Ação e clique em OpenQuery.
A ação OpenQuery aparece e exibe seus argumentos. - Na caixa Nome da Consulta , selecione a consulta (append ou make-table) que você criou na Etapa 2.
- Clique na seta suspensa ao lado de Adicionar Nova Ação e clique em OpenQuery.
A ação OpenQuery aparece e exibe seus argumentos. - Na caixa Nome da Consulta , selecione a consulta exclusão criada na Etapa 3.
- Pressione CTRL+S para salvar a macro.
Quando quiser arquivar registros, execute a macro.