Nota: O Microsoft Access não suporta a importação de dados do Excel com uma etiqueta de confidencialidade aplicada. Como solução, pode remover a etiqueta antes de importar e, em seguida, voltar a aplicar a etiqueta após a importação. Para obter mais informações, consulte Aplicar etiquetas de confidencialidade aos seus ficheiros e e-mails no Office.
Este artigo mostra-lhe como mover os seus dados do Excel para o Access e converter os seus dados em tabelas relacionais para que possa utilizar o Microsoft Excel e o Access em conjunto. Resumindo, o Access é o melhor para capturar, armazenar, consultar e partilhar dados e o Excel é o melhor para calcular, analisar e visualizar dados.
Dois artigos: Utilizar o Access ou o Excel para gerir os seus dados e os 10 principais motivos para utilizar o Access com o Excel, debater qual o programa mais adequado para uma tarefa específica e como utilizar o Excel e o Access em conjunto para criar uma solução prática.
Quando move dados do Excel para o Access, existem três passos básicos para o processo.
Nota: Para obter informações sobre a modelação de dados e as relações no Access, veja Noções básicas da estrutura da base de dados.
Passo 1: importar dados do Excel para o Access
A importação de dados é uma operação que pode ser muito mais fácil se demorar algum tempo a preparar e limpar os seus dados. Importar dados é como mudar para uma nova casa. Se limpar e organizar os seus bens antes de se mudar, instalar-se na sua nova casa é muito mais fácil.
Limpar os seus dados antes de importar
Antes de importar dados para o Access, no Excel é uma boa ideia:
-
Converta células que contenham dados não atómicos (ou seja, múltiplos valores numa célula) em múltiplas colunas. Por exemplo, uma célula numa coluna "Competências" que contém vários valores de competência, como "Programação C#", "programação VBA" e "Web design" deve ser dividida para separar colunas que contêm apenas um valor de competência.
-
Utilize o comando TRIM para remover espaços à esquerda, à direita e a vários espaços incorporados.
-
Remover carateres não imprimíveis.
-
Localizar e corrigir erros de ortografia e pontuação.
-
Remover linhas duplicadas ou campos duplicados.
-
Certifique-se de que as colunas de dados não contêm formatos mistos, especialmente números formatados como texto ou datas formatadas como números.
Para obter mais informações, consulte os seguintes tópicos de ajuda do Excel:
Nota: Se as suas necessidades de limpeza de dados forem complexas ou não tiver tempo ou recursos para automatizar o processo por conta própria, poderá considerar utilizar um fornecedor de terceiros. Para obter mais informações, procure "software de limpeza de dados" ou "qualidade de dados" pelo seu motor de busca favorito no browser.
Escolher o melhor tipo de dados ao importar
Durante a operação de importação no Access, quer fazer boas escolhas para que receba poucos (se existirem) erros de conversão que exijam intervenção manual. A tabela seguinte resume como os formatos de números do Excel e os tipos de dados do Access são convertidos quando importa dados do Excel para o Access e oferece algumas sugestões sobre os melhores tipos de dados a escolher no Assistente de Importação de Folhas de Cálculo.
Formato de número do Excel |
Tipo de dados do Access |
Comentários |
Melhor prática |
---|---|---|---|
Text |
Texto, Memo |
O tipo de dados Texto do Access armazena dados alfanuméricos até 255 carateres. O tipo de dados Memorando do Access armazena dados alfanuméricos até 65 535 carateres. |
Selecione Memo para evitar truncar quaisquer dados. |
Número, Percentagem, Fração, Científica |
Número |
O Access tem um tipo de dados Número que varia com base numa propriedade Tamanho do Campo (Byte, Número Inteiro, Número Inteiro Longo, Único, Duplo, Decimal). |
Selecione Duplo para evitar erros de conversão de dados. |
Data |
Data |
O Access e o Excel utilizam o mesmo número de data de série para armazenar datas. No Access, o intervalo de datas é maior: de -657.434 (1 de janeiro de 100 d.C.) para 2.958.465 (31 de dezembro de 9999 d.C.). Uma vez que o Access não reconhece o sistema de datas de 1904 (utilizado no Excel para Macintosh), tem de converter as datas no Excel ou no Access para evitar confusões. Para obter mais informações, consulte Alterar a interpretação do sistema de datas, formato ou ano de dois dígitos e Importar ou ligar a dados num livro do Excel. |
Selecione Data. |
Hora |
Hora |
O Access e o Excel armazenam valores de tempo com o mesmo tipo de dados. |
Selecione Hora, que é normalmente a predefinição. |
Moeda, Contabilidade |
Moeda |
No Access, o tipo de dados Moeda armazena dados como números de 8 bytes com precisão para quatro casas decimais e é utilizado para armazenar dados financeiros e impedir o arredondamento de valores. |
Selecione Moeda, que é normalmente a predefinição. |
booleano |
Sim/Não |
O Access utiliza -1 para todos os valores Sim e 0 para todos os valores Não, enquanto o Excel utiliza 1 para todos os valores VERDADEIRO e 0 para todos os valores FALSE. |
Selecione Sim/Não, que converte automaticamente os valores subjacentes. |
Hiperligação |
Hiperligação |
Uma hiperligação no Excel e no Access contém um URL ou endereço Web que pode clicar e seguir. |
Selecione Hiperligação. Caso contrário, o Access poderá utilizar o tipo de dados Texto por predefinição. |
Assim que os dados estiverem no Access, pode eliminar os dados do Excel. Não se esqueça de criar uma cópia de segurança do livro original do Excel antes de o eliminar.
Para obter mais informações, consulte o tópico de ajuda do Access Importar ou ligar a dados num livro do Excel.
Acrescentar dados automaticamente da forma mais fácil
Um problema comum que os utilizadores do Excel têm é acrescentar dados com as mesmas colunas numa folha de cálculo grande. Por exemplo, pode ter uma solução de controlo de recursos que começou no Excel, mas que agora passou a incluir ficheiros de vários grupos de trabalho e departamentos. Estes dados podem estar em folhas de cálculo e livros diferentes ou em ficheiros de texto que são feeds de dados de outros sistemas. Não existe um comando de interface de utilizador ou uma forma fácil de acrescentar dados semelhantes no Excel.
A melhor solução é utilizar o Access, onde pode importar e acrescentar facilmente dados para uma tabela através do Assistente de Importação de Folhas de Cálculo. Além disso, pode acrescentar muitos dados numa tabela. Pode guardar as operações de importação, adicioná-las como tarefas agendadas do Microsoft Outlook e até mesmo utilizar macros para automatizar o processo.
Passo 2: Normalizar dados com o Assistente do Analisador de Tabelas
À primeira vista, percorrer o processo de normalização dos seus dados pode parecer uma tarefa assustadora. Felizmente, normalizar tabelas no Access é um processo muito mais fácil, graças ao Assistente do Analisador de Tabelas.
1. Arraste as colunas selecionadas para uma nova tabela e crie relações automaticamente
2. Utilize comandos de botão para mudar o nome de uma tabela, adicionar uma chave primária, tornar uma coluna existente numa chave primária e anular a última ação
Pode utilizar este assistente para fazer o seguinte:
-
Converta uma tabela num conjunto de tabelas mais pequenas e crie automaticamente uma relação de chave primária e externa entre as tabelas.
-
Adicione uma chave primária a um campo existente que contenha valores exclusivos ou crie um novo campo de ID que utilize o tipo de dados Numeração Automática.
-
Crie automaticamente relações para impor a integridade referencial com atualizações em cascata. As eliminações em cascata não são adicionadas automaticamente para impedir a eliminação acidental de dados, mas pode adicionar facilmente eliminações em cascata mais tarde.
-
Procure dados redundantes ou duplicados em novas tabelas (como o mesmo cliente com dois números de telefone diferentes) e atualize-os conforme pretendido.
-
Crie uma cópia de segurança da tabela original e mude o nome da mesma ao acrescentar "_OLD" ao respetivo nome. Em seguida, vai criar uma consulta que reconstrói a tabela original, com o nome da tabela original para que quaisquer formulários ou relatórios existentes baseados na tabela original funcionem com a nova estrutura da tabela.
Para obter mais informações, veja Normalizar os seus dados com o Analisador de Tabelas.
Passo 3: Ligar a dados do Access a partir do Excel
Depois de os dados terem sido normalizados no Access e de ter sido criada uma consulta ou tabela que reconstrua os dados originais, é uma simples questão de ligar aos dados do Access a partir do Excel. Os seus dados estão agora no Access como uma origem de dados externa, pelo que podem ser ligados ao livro através de uma ligação de dados, que é um contentor de informações que é utilizado para localizar, iniciar sessão e aceder à origem de dados externa. As informações de ligação são armazenadas no livro e também podem ser armazenadas num ficheiro de ligação, como um ficheiro de Ligação de Dados do Office (ODC) (extensão de nome de ficheiro.odc) ou um ficheiro de Nome da Origem de Dados (extensão .dsn). Depois de se ligar a dados externos, também pode atualizar (ou atualizar) automaticamente o seu livro do Excel a partir do Access sempre que os dados forem atualizados no Access.
Para obter mais informações, veja Importar dados de origens de dados externas (Power Query).
Obter os seus dados no Access
Esta secção orienta-o pelas seguintes fases de normalização dos seus dados: Dividir valores nas colunas Vendedor e Endereço nas suas partes mais atómicas, separar assuntos relacionados nas suas próprias tabelas, copiar e colar essas tabelas do Excel no Access, criar relações-chave entre as tabelas do Access recém-criadas e criar e executar uma consulta simples no Access para devolver informações.
Dados de exemplo num formulário não normalizado
A seguinte folha de cálculo contém valores não atómicos na coluna Vendedor e na coluna Endereço. Ambas as colunas devem ser divididas em duas ou mais colunas separadas. Esta folha de cálculo também contém informações sobre vendedores, produtos, clientes e encomendas. Estas informações também devem ser divididas ainda mais, por assunto, em tabelas separadas.
Vendedor |
ID da Encomenda |
Data da Encomenda |
ID do Produto |
Qty |
Preço |
Nome do Cliente |
Address |
Telemóvel |
---|---|---|---|---|---|---|---|---|
Li, Yale |
2349 |
3/4/09 |
C-789 |
3 |
$7,00 |
Café Quatro |
7007 Cornell St Redmond, WA 98199 |
425-555-0201 |
Li, Yale |
2349 |
3/4/09 |
C-795 |
6 |
$9,75 |
Café Quatro |
7007 Cornell St Redmond, WA 98199 |
425-555-0201 |
Adams, Ellen |
2350 |
3/4/09 |
A-2275 |
2 |
$16,75 |
Adventure Works |
1025 Columbia Circle Kirkland, WA 98234 |
425-555-0185 |
Adams, Ellen |
2350 |
3/4/09 |
F-198 |
6 |
$5,25 |
Adventure Works |
1025 Columbia Circle Kirkland, WA 98234 |
425-555-0185 |
Adams, Ellen |
2350 |
3/4/09 |
B-205 |
1 |
$4,50 |
Adventure Works |
1025 Columbia Circle Kirkland, WA 98234 |
425-555-0185 |
Hance, Jim |
2351 |
3/4/09 |
C-795 |
6 |
$9,75 |
Contoso, Lda. |
2302 Harvard Ave Bellevue, WA 98227 |
425-555-0222 |
Hance, Jim |
2352 |
3/5/09 |
A-2275 |
2 |
$16,75 |
Adventure Works |
1025 Columbia Circle Kirkland, WA 98234 |
425-555-0185 |
Hance, Jim |
2352 |
3/5/09 |
D-4420 |
3 |
$7,25 |
Adventure Works |
1025 Columbia Circle Kirkland, WA 98234 |
425-555-0185 |
Koch, Reed |
2353 |
3/7/09 |
A-2275 |
6 |
$16,75 |
Café Quatro |
7007 Cornell St Redmond, WA 98199 |
425-555-0201 |
Koch, Reed |
2353 |
3/7/09 |
C-789 |
5 |
$7,00 |
Café Quatro |
7007 Cornell St Redmond, WA 98199 |
425-555-0201 |
Informações nas partes mais pequenas: dados atómicos
Ao trabalhar com os dados neste exemplo, pode utilizar o comando Texto para Coluna no Excel para separar as partes "atómicas" de uma célula (como o endereço de rua, a cidade, o estado e o código postal) em colunas discretas.
A tabela seguinte mostra as novas colunas na mesma folha de cálculo depois de terem sido divididas para tornar todos os valores atómicos. Tenha em atenção que as informações na coluna Vendedor foram divididas em Apelido e nas colunas Nome Próprio e que as informações na coluna Endereço foram divididas nas colunas Endereço da Rua, Cidade, Estado e Código Postal. Estes dados estão na "primeira forma normal".
Apelido |
Nome Próprio |
|
Rua |
Cidade |
Distrito |
Código Postal |
---|---|---|---|---|---|---|
Li |
Yale |
Harvard Ave de 2302 |
Belavista |
Setúbal |
98227 |
|
Adams |
Teresa |
Círculo de Columbia 1025 |
Kirkland |
Setúbal |
98234 |
|
Hance |
Jim |
Harvard Ave de 2302 |
Belavista |
Setúbal |
98227 |
|
Koch |
Cana |
7007 Cornell St Redmond |
Redmond |
Setúbal |
98199 |
Dividir dados em assuntos organizados no Excel
As várias tabelas de dados de exemplo que se seguem mostram as mesmas informações da folha de cálculo do Excel depois de terem sido divididas em tabelas para vendedores, produtos, clientes e encomendas. O design da tabela não é final, mas está no caminho certo.
A tabela Vendedores contém apenas informações sobre pessoal de vendas. Tenha em atenção que cada registo tem um ID exclusivo (ID do Vendedor). O valor do ID do Vendedor será utilizado na tabela Encomendas para ligar encomendas a vendedores.
Vendedores |
||
---|---|---|
ID do Vendedor |
Apelido |
Nome Próprio |
101 |
Li |
Yale |
103 |
Adams |
Teresa |
105 |
Hance |
Jim |
107 |
Koch |
Cana |
A tabela Produtos contém apenas informações sobre produtos. Tenha em atenção que cada registo tem um ID exclusivo (ID do Produto). O valor ID do Produto será utilizado para ligar as informações do produto à tabela Detalhes da Encomenda.
Produtos |
|
---|---|
ID do Produto |
Preço |
A-2275 |
16.75 |
B-205 |
4.50 |
C-789 |
7,00 |
C-795 |
9.75 |
D-4420 |
7.25 |
F-198 |
5.25 |
A tabela Clientes contém apenas informações sobre os clientes. Tenha em atenção que cada registo tem um ID exclusivo (ID do Cliente). O valor ID do Cliente será utilizado para ligar as informações do cliente à tabela Encomendas.
Clientes |
||||||
---|---|---|---|---|---|---|
Código do Cliente |
Nome |
Rua |
Cidade |
Distrito |
Código Postal |
Telemóvel |
1001 |
Contoso, Lda. |
Harvard Ave de 2302 |
Belavista |
Setúbal |
98227 |
425-555-0222 |
1003 |
Adventure Works |
Círculo de Columbia 1025 |
Kirkland |
Setúbal |
98234 |
425-555-0185 |
1005 |
Café Quatro |
Rua Cornell, 7007 |
Redmond |
Setúbal |
98199 |
425-555-0201 |
A tabela Encomendas contém informações sobre encomendas, vendedores, clientes e produtos. Tenha em atenção que cada registo tem um ID exclusivo (ID da Encomenda). Algumas das informações nesta tabela têm de ser divididas numa tabela adicional que contenha detalhes da encomenda para que a tabela Encomendas contenha apenas quatro colunas : o ID de encomenda exclusivo, a data da encomenda, o ID do vendedor e o ID do cliente. A tabela aqui apresentada ainda não foi dividida na tabela Detalhes da Encomenda.
Encomendas |
|||||
---|---|---|---|---|---|
ID da Encomenda |
Data da Encomenda |
ID do Vendedor |
ID do Cliente |
ID do Produto |
Qty |
2349 |
3/4/09 |
101 |
1005 |
C-789 |
3 |
2349 |
3/4/09 |
101 |
1005 |
C-795 |
6 |
2350 |
3/4/09 |
103 |
1003 |
A-2275 |
2 |
2350 |
3/4/09 |
103 |
1003 |
F-198 |
6 |
2350 |
3/4/09 |
103 |
1003 |
B-205 |
1 |
2351 |
3/4/09 |
105 |
1001 |
C-795 |
6 |
2352 |
3/5/09 |
105 |
1003 |
A-2275 |
2 |
2352 |
3/5/09 |
105 |
1003 |
D-4420 |
3 |
2353 |
3/7/09 |
107 |
1005 |
A-2275 |
6 |
2353 |
3/7/09 |
107 |
1005 |
C-789 |
5 |
Os detalhes da encomenda, como o ID do produto e a quantidade, são movidos para fora da tabela Encomendas e armazenados numa tabela denominada Detalhes da Encomenda. Tenha em atenção que existem 9 encomendas, pelo que faz sentido que existam 9 registos nesta tabela. Tenha em atenção que a tabela Encomendas tem um ID exclusivo (ID da Encomenda), que será referido a partir da tabela Detalhes da Encomenda.
A estrutura final da tabela Encomendas deve ter o seguinte aspeto:
Encomendas |
|||
---|---|---|---|
ID da Encomenda |
Data da Encomenda |
ID do Vendedor |
ID do Cliente |
2349 |
3/4/09 |
101 |
1005 |
2350 |
3/4/09 |
103 |
1003 |
2351 |
3/4/09 |
105 |
1001 |
2352 |
3/5/09 |
105 |
1003 |
2353 |
3/7/09 |
107 |
1005 |
A tabela Detalhes da Encomenda não contém colunas que exijam valores exclusivos (ou seja, não existe uma chave primária), pelo que não há problema em que qualquer coluna ou todas as colunas contenham dados "redundantes". No entanto, nenhum registo nesta tabela deve ser completamente idêntico (esta regra aplica-se a qualquer tabela numa base de dados). Nesta tabela, devem existir 17 registos , cada um correspondente a um produto numa encomenda individual. Por exemplo, na ordem 2349, três produtos C-789 constituem uma das duas partes da encomenda completa.
A tabela Detalhes da Encomenda deve, portanto, ter o seguinte aspeto:
Detalhes da Encomenda |
||
---|---|---|
ID da Encomenda |
ID do Produto |
Qty |
2349 |
C-789 |
3 |
2349 |
C-795 |
6 |
2350 |
A-2275 |
2 |
2350 |
F-198 |
6 |
2350 |
B-205 |
1 |
2351 |
C-795 |
6 |
2352 |
A-2275 |
2 |
2352 |
D-4420 |
3 |
2353 |
A-2275 |
6 |
2353 |
C-789 |
5 |
Copiar e colar dados do Excel no Access
Agora que as informações sobre vendedores, clientes, produtos, encomendas e detalhes de encomendas foram divididas em assuntos separados no Excel, pode copiar esses dados diretamente para o Access, onde se tornarão tabelas.
Criar relações entre as tabelas do Access e executar uma consulta
Depois de mover os seus dados para o Access, pode criar relações entre tabelas e, em seguida, criar consultas para devolver informações sobre vários assuntos. Por exemplo, pode criar uma consulta que devolva o ID da Encomenda e os nomes dos vendedores para encomendas introduzidas entre 09/05/3 e 08/03/09.
Além disso, pode criar formulários e relatórios para facilitar a introdução de dados e a análise de vendas.
Precisa de mais ajuda?
Pode sempre colocar uma pergunta a um especialista da Comunidade Tecnológica do Excel ou obter suporte nas Comunidades.