Pode manter as bases de dados do Microsoft Access organizadas e geríveis ao arquivar periodicamente registos antigos ou inativos. Pode arquivar todas as tabelas numa base de dados, tabelas específicas ou apenas registos específicos, por exemplo, registos mais antigos do que uma data específica. Este tópico explica como utilizar três opções diferentes para arquivar os dados na sua base de dados do Access.
Neste artigo
Quando deve considerar arquivar?
Quando uma base de dados no seu computador contém dados que já não pretende utilizar, mas quer manter esses dados à mão caso precise deles em algum momento ou para cumprir uma política de retenção de dados, o arquivamento é uma boa forma de reter esses dados. O arquivo também é frequentemente utilizado para manter dados com base numa condição de data, como no final de um mês.
Formas de arquivar dados
A tabela seguinte lista métodos para arquivar dados, uma descrição do método, uma explicação de quando deve utilizar cada método e outras considerações específicas para o método .
|
Método |
Descrição |
Usar quando... |
Outras considerações |
|
Faz periodicamente uma cópia de arquivo de uma tabela específica e substitui essa tabela por uma nova cópia de tabela vazia. |
Todos os registos numa tabela cumprem as condições que utiliza para determinar se pretende arquivar.EXEMPLO: Tem uma tabela que armazena os extremos da temperatura diária. Todos os anos, arquiva a tabela e começa de novo com uma vazia. |
|
|
|
Faça periodicamente uma cópia de arquivo da base de dados de back-end e, em seguida, substitua a base de dados de back-end por uma nova, vazia. Requer uma base de dados dividida (uma base de dados composta por: um ficheiro de base de dados de back-end que contém todas as tabelas; e um ficheiro de base de dados front-end que contém todos os outros objetos de base de dados). |
Todos os registos na maioria das tabelas numa base de dados cumprem a condição que utiliza para determinar se pretende arquivar.EXEMPLO: a sua base de dados consiste em várias tabelas com diferentes tipos de dados meteorológicos. Todos os anos, arquiva todas as tabelas. |
|
|
|
Executa periodicamente uma consulta que seleciona os registos para arquivar e adiciona os dados a uma tabela de arquivo e, em seguida, executa uma consulta para selecionar os mesmos registos (da tabela original) e eliminá-los. |
Alguns dos registos numa tabela cumprem a condição que utiliza para determinar se pretende arquivar.EXEMPLO: pretende arquivar transações de biblioteca (marcar saídas) se a Data de Entrada Dada tiver, pelo menos, um ano. |
Aviso: Se precisar de utilizar parâmetros nas consultas, deve criar um formulário para processar os parâmetros. Caso contrário, arrisca a perda de dados. |
Trabalhar em torno da integridade referencial
Se os registos que pretende arquivar estiverem relacionados com registos noutras tabelas, poderá ter de contornar a relação. Se os registos que pretende arquivar forem registos "subordinados" (pertencem ao lado "muitos" de um relação um-para-muitos ), provavelmente pode arquivá-los em segurança sem preocupações. Se os registos que pretende arquivar forem registos "principais" (pertencem ao lado "um" de um relação um-para-muitos ), quando os arquivar, os registos "subordinados" relacionados poderão:
-
Impedir que elimine os registos "principais". Isto pode causar problemas se já tiver acrescentado os registos "principais" à tabela de arquivo.
-Ou-
-
Torne-se "órfãos"— registos que pertencem a um "elemento principal" que não existe. Isto pode causar problemas com a integridade e a funcionalidade dos dados na base de dados que utiliza os registos "órfãos".
Para ter em conta a integridade referencial, siga os seguintes passos:
-
Determine que registos "subordinados" pertencem aos registos que pretende arquivar. Por exemplo, para arquivar registos de recursos emprestados numa biblioteca, determine primeiro se existem transações abertas nesses recursos, ou seja, se os recursos foram reservados, mas não devolvidos.
-
Siga um destes procedimentos:
-
Se os registos "subordinados" puderem ser sempre eliminados em segurança, certifique-se de que a relação impõe integridade referencial, com eliminações em cascata. Isto garante que todos os registos "subordinados" relacionados serão eliminados.
-
Se os registos "subordinados" não puderem ser sempre eliminados em segurança, considere arquivar todas as tabelas na base de dados.
-
Crie uma consulta que selecione registos "principais" que não tenham registos "subordinados". Em seguida, utilize essa primeira consulta para criar as suas consultas de arquivo (consulte a secção Mover periodicamente registos para uma tabela de arquivo), em vez de utilizar a tabela "principal".
-
Substituir periodicamente uma tabela
Se quiser arquivar todos os dados numa tabela, pode substituir periodicamente a tabela por uma cópia vazia.
Importante: Se a tabela que arquivar estiver relacionada com outras tabelas, poderá ter de contornar a integridade referencial.
-
No Painel de Navegação, selecione as tabelas que pretende arquivar, prima CTRL+C e, em seguida, prima Ctrl+V.
-
Na caixa de diálogo Colar Tabela Como , em Opções de Colagem, selecioneApenas Estrutura e, em seguida, clique em OK.O Access atribui o nome da cópia como uma Cópia do nome da tabela original.
-
No Painel de Navegação, clique com o botão direito do rato na tabela original e, em seguida, clique em Mudar o Nome no menu de atalho.Atribua outro nome à tabela para indicar o que contém, como "DailyTemperatureExtremes_archive_2019".
-
No Painel de Navegação, clique com o botão direito do rato na cópia vazia e, em seguida, clique em Mudar o Nome no menu de atalho. Mude o nome da mesma com o nome da tabela original.
Substituir periodicamente todas as tabelas
Se utilizar uma base de dados dividida, pode substituir periodicamente todas as tabelas ao substituir a base de dados de back-end por uma cópia vazia.
Para tal, prepare primeiro a cópia vazia. A menos que a estrutura da base de dados seja alterada, pode reutilizar esta cópia vazia sempre que arquivar. Para arquivar, basta mudar o nome da base de dados de back-end existente para indicar que é um arquivo e guardar a cópia vazia como a nova base de dados de back-end.
Preparar uma cópia vazia de uma base de dados de back-end
Primeiro, importe as definições de tabela para todas as tabelas na base de dados de back-end.
-
No separador Ficheiro , clique em Novo, selecione Base de dados em branco e, em seguida, clique em Criar.
-
Feche a Tabela1.
-
No separador Dados Externos , no grupo Importar & Ligação , clique em Acesso.
-
Na caixa de diálogo Obter Dados Externos – Base de dados do Access , selecione Importar tabelas, consultas, formulários, relatórios, macros e módulos para a base de dados atual e, em seguida, clique em Procurar.
-
Na caixa de diálogo Abrir Ficheiro , selecione a base de dados de back-end. Clique em Abrir para fechar a caixa de diálogo Abrir Ficheiro e, em seguida, clique em OK.
-
Na caixa de diálogo Importar Objetos , clique em Opções.
-
Em Importar Tabelas, selecione Apenas Definição.
-
No separador Tabelas , clique em Selecionar Tudo, clique em OK e, em seguida, clique em Fechar.
Adicionar dados a quaisquer tabelas de referência na cópia vazia
Para cada tabela de referência, efetue os seguintes passos:
-
Ligue à tabela de referência na base de dados de back-end existente.
-
Crie uma consulta de acréscimo que adiciona todos os registos do original à cópia.
Substituir a base de dados de back-end por uma cópia vazia
Primeiro, mude o nome da base de dados de back-end existente para indicar que é agora um arquivo. Em seguida, abra a cópia vazia e guarde-a com o nome original da base de dados de back-end.
-
Clique no separador Ficheiro e, em seguida, clique em Guardar Base de Dados Como. Poderá ser-lhe pedido que feche todos os objetos abertos; se assim for, clique em OK. É aberta a caixa de diálogo Guardar Como .
-
Na caixa Guardar em (na parte superior da caixa de diálogo Guardar Como ), certifique-se de que está a guardar o ficheiro no mesmo local que a base de dados de back-end original.
-
Na caixa Nome do Ficheiro , introduza o nome da base de dados de back-end original.
-
Na caixa Guardar com o tipo , selecione Base de Dados do Access (*.accdb).
Mover registros periodicamente para uma tabela de arquivos
Este é 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 anexo para copiar os registros da tabela original para a tabela de arquivo, criar uma consulta exclusão para remover os registros arquivados da tabela original e, finalmente, criar uma macro para executar as duas consultas que podem ser executadas quando você quiser arquivar. Esse processo aparentemente complexo pode ser fácil se você seguir as etapas na ordem em que elas são apresentadas abaixo:
Etapa 1: criar uma tabela de arquivo
Etapa 2: criar uma consulta de anexo para copiar dados para a tabela de arquivos
Etapa 3: criar uma consulta de exclusão para remover dados da tabela original
Etapa 4: criar uma macro para executar consultas de anexo e exclusão
Etapa 1: criar uma tabela de arquivo
Para manter todos os registros arquivados em uma tabela, faça essa etapa uma vez. A tabela de arquivo que você criar nesta etapa conterá todos os seus registros arquivados.
Para excluir sua tabela de arquivo antiga ao criar uma nova, em vez de fazer essa etapa, você pode usar uma consulta criar tabela para copiar os dados para sua tabela de arquivos. Para fazer isso, pule para a Etapa 2.
Para usar uma nova tabela de arquivo sempre que você arquivar, mas também para manter suas tabelas de arquivo antigas, renomeie a tabela de arquivo antiga antes de criar uma nova. Se você estiver arquivando com base em uma data, considerando nomear suas tabelas de arquivo antigas de acordo com o intervalo de datas que elas representam.
-
No Painel de Navegação, selecione a tabela que tem registros para arquivar, pressione CTRL+C e pressione CTRL+V.
-
Na caixa Nome da Tabela , exclua as palavras Copiar e anexe um sublinhado e a palavra "arquivo" ao nome da tabela existente e clique em OK. Por exemplo, se a tabela original for chamada Transações , a tabela de arquivo será nomeada Transactions_archive.
-
Na caixa de diálogo Colar Tabela Como , em Opções de colar, selecioneSomente Estrutura.
Etapa 2: criar uma consulta de anexo para copiar dados para a tabela de arquivos
-
Na guia Criar, no grupo Consultas, clique em Design da Consulta.
-
Adicione a tabela com os registros que você deseja arquivar.
-
Na janela 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 de 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 os campos forem adicionados ou removidos da tabela, a saída da consulta será ajustada 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 ser atendidos antes de arquivar eles. Por exemplo, se a tabela Transações tiver um campo chamado Checked In Date e você quiser arquivar todos os registros em que essa data tenha mais de um ano de idade, você clicará duas vezes no campo e ele aparecerá na próxima coluna vazia da grade de design da 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 Entrada Marcada deve ser anterior a 1º de janeiro de 2019 usando a expressão < 1/1/2019# na linha Critérios .
Se os valores de critérios forem alterados cada vez que você arquivar, você deverá fazer sua consulta pedir entrada. Para fazer isso, você usa um parâmetro na linha Critérios para que a consulta peça entrada. Para usar um parâmetro, use uma expressão como normalmente faria, mas, em vez de um valor especificado, use uma breve pergunta cercada por colchetes. Por exemplo, você pode usar a expressão <[Arquivo transações concluídas antes:], assim:
Para obter mais informações sobre como usar parâmetros, consulte o artigo Introdução às consultas.
Você também pode querer 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 que a data atual, insira<Date() na linha Critérios para o campo data.
-
Siga um destes procedimentos:
Se você já tiver criado a tabela de arquivo, use uma consulta de anexo para adicionar os registros especificados a essa tabela:
-
Na guia Design, no grupo Tipo de Consulta, clique em Acrescentar.
-
Na caixa de diálogo Append , na caixa Nome da Tabela , selecione o nome da tabela de arquivo e clique em OK.
Na grade de design da consulta, a linha Acrescentar Para é exibida.
-
Desmarque a linha Append To para todos os campos que você usou para especificar critérios. (Somente o asterisco deve ter um valor para Append To.)
Se você não tiver criado a tabela de arquivo, use uma consulta make-table para criar a tabela de arquivo 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 arquivo e clique em OK.
-
-
Pressione CTRL+S para salvar a consulta.
Etapa 3: criar uma consulta de 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 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 de consulta.
-
Na janela de design da consulta, clique duas vezes nos mesmos campos usados para especificar uma condição na consulta de anexo.
-
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 anexo ou make-table usou um parâmetro, verifique se a consulta de exclusão também o faz. Lembre-se também de que você insira 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 peçam ao formulário os valores de entrada. Para obter mais informações, confira o artigo Introdução a 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 de anexo 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 AbrirQuery.
A ação OpenQuery é exibida e exibe seus argumentos.
-
Na caixa Nome da Consulta , selecione a consulta (anexo ou make-table) que você criou na Etapa 2.
-
Clique na seta suspensa ao lado de Adicionar Nova Ação e clique em AbrirQuery.
A ação OpenQuery é exibida e exibe seus argumentos.
-
Na caixa Nome da Consulta , selecione a consulta de exclusão que você criou na Etapa 3.
-
Pressione CTRL+S para salvar a macro.
Quando você quiser arquivar registros, execute a macro.