Conteúdo da Página
Abrir CSV no Access: 3 métodos diferentes
O principal formato de exportação de bases de dados em aplicações web, o Comma Separeted Values, ou comumente chamado de arquivo CSV, é basicamente um arquivo de texto onde se usa exclusivamente vírgulas como delimitador de campos. O que facilita na hora de importar de um banco de dados para outro por ter menos configurações a serem feitas. Porém, o Access utiliza as mesmas ferramentas de importação dos arquivos TXT nos arquivos CSV, uma vez que este último pode apresentar variações de formato em alguns provedores de dados; e é aí que os erros de importação se acumulam se não tomarmos cuidado com as características próprias de cada tipo de arquivo. Por isso, sempre que possível, recomendo preferir o formato TXT como base de dados para se evitar os erros comuns de importação. Mas quando precisar abrir CSV no Access utilize o passo a passo a seguir.
Criar uma tabela vinculada no Access
É a minha forma preferida de abrir CSV no Access quando preciso trabalhar com bases atualizadas diariamente, cujo formato original permanece o mesmo: nome de colunas iguais, formato de dados, entre outros.
Recomendo deixar todos os arquivos de origem em uma pasta específica; isso facilita muito a manutenção e a operação diária. Costumo deixar em uma subpasta, chamada de “OD” (origem de dados), onde ficar o banco de dados Access assim como na Figura 1.
Crie seu banco de dados se ainda não o fez: na pasta principal, selecione com o botão direito do mouse a opção “Novo”, seguida de “Microsoft Access Database” (Figura 2); renomei-o conforme seu projeto. Aqui utilizarei o nome de “ModeloAccess”; note que evito caracteres especiais tais como espaço, acentos, entre outros; apesar de serem permitidos, prefiro evitar para facilitar meu trabalho em etapas futuras de automação quando forem necessárias.
Habilite o conteúdo, caso seja solicitado (Figura 3).
Abra seu banco de dados e selecione as opções: Dados Externos \ Nova Fonte de Dados \ Do Arquivo \ Arquivo de Texto, conforme Figura 4.
Selecione a opção “Vincular à fonte de dados criando uma tabela vinculada” e indique o endereço do arquivo CSV que será utilizado (Figura 5); clique em “OK”.
Na Figura 6, vemos como definir o delimitador de campos, que consiste em identificar qual foi o utilizado por quem criou o arquivo. O método apropriado para arquivo CSV é o “Delimitado”, uma vez que ele utiliza vírgula como separador de campos. A outra opção, de “Largura fixa”, só costuma ser usada em bases de dados onde todos os registros (linhas) de um campo (colunas) têm o mesmo número de caracteres; o que só se aplica em arquivos de texto. Clique em “Avançar”.
Bases de dados no formato de arquivo CSV costumam vir com o título das colunas na primeira linha do arquivo. Por isso, como na Figura 7, marque a opção “Primeira linha contém nomes de campo”. Selecione a vírgula como caractere delimitador de campos. Identifique também as aspas duplas como qualificador de texto pois é o utilizado neste tipo de arquivo. Clique em “Avançar”.
Defina o tipo de dados de cada campo conforme vemos na Figura 8. Você pode também ignorar a leitura de alguns campos, mas recomendo não ignorar nenhum deles pois utilizaremos métodos mais apropriados para isso (e nunca se sabe quando precisaremos de um deles e ter de repetir todo o processo de vinculação). Também sigo como regra pessoal vincular todos os campos no formato “Texto Curto”, para evitar erros comuns de importação, e tratá-los após a vinculação. A menos que eu já tenha algo em mente para o meu projeto. Clique em “Avançar”.
Defina o nome de sua tabela vinculada no Access; utilizarei o nome de “VinModeloCSV”; aqui também evito caracteres especiais pelos mesmos motivos da Figura 2 citados anteriormente; também recomendo sempre utilizar o prefixo “Vin” no início de todas as tabelas vinculadas para facilitar a manutenção e nas etapas de automação, quando forem necessárias; por fim, clique em “Concluir” (Figura 9).
Pronto, agora você já pode utilizar arquivo CSV direto no Access. E quando tiver uma atualização desta base de dados, recebida via e-mail, portal ou outro meio de transmissão, bastará substituir o arquivo CSV anterior pelo novo: o Access estará sempre vinculado ao arquivo CSV com o nome e endereço originais.
Observe, ao abrir a tabela vinculada no Access (Figura 10), que utilizei como exemplo arquivo CSV de 56 MB e com 100.000 linhas que extraí a partir de dados totalmente fictícios do site Fake Name Generator. Qualquer semelhança com a realidade é mera coincidência.
Importar dados para uma nova tabela no Access
Utilizo pouco este método para abrir CSV no Access por ter, para mim, aplicação muito específica: criar uma tabela armazenada no próprio Access a partir de um arquivo CSV.
Siga os passos de 1 a 4 do método anterior (Figuras 1 a 4).
Conforme a Figura 11, selecione a opção “Importar os dados de origem para uma nova tabela do banco de dados atual”; indique a planilha de origem e clique em “OK”.
Siga os passos de 6 a 8 do método anterior (Figuras 6 a 8).
Defina se algum campo será a chave primária (Figura 12); ou seja, qual campo será o índice principal de sua tabela. Neste ponto, eu prefiro sempre escolher “Sem Chave Primária” e defini-la posteriormente após tratar os erros de importação que possam surgir.
Defina o nome de sua tabela importada do arquivo CSV; utilizarei o nome de “CadModeloCSV”; aqui também evito caracteres especiais como explicado anteriormente; também recomendo sempre utilizar o prefixo “Cad” no início de todas as tabelas importadas para facilitar a manutenção e nas etapas de automação, quando forem necessárias; a seguir, clique em “Concluir” (Figura 13).
Por fim, há a opção de salvar as etapas de importação (Figura 14) para se evitar retrabalho caso prefira atualizar sua tabela importada repetindo o processo de importação, onde o Access substituirá a tabela anterior pela nova. Caso opte por esse método, sugiro substituir o prefixo “Cad” pelo “Imp” também como padrão para favorecer manutenções e automações futuras; clique em “Salvar Importação”, ou desmarque esta opção, e finalize a tarefa.
Acrescentar registros a uma tabela no Access
Não utilizo este método para abrir CSV no Access pois prefiro tratar os erros comuns de incompatibilidade de dados por outros meios. Mas é bom conhecê-lo para qualquer aplicação particular que venha a surgir no dia a dia.
Siga os passos de 1 a 4 do primeiro método (Figuras 1 a 4).
Conforme a Figura 15, selecione a opção “Acrescentar uma cópia dos registros à tabela”; indique o arquivo de origem, a tabela de destino e clique em “OK”.
Siga os passos de 6 e 7 do primeiro método (Figuras 6 e 7).
O Access reconhece o título das colunas de seu arquivo CSV que correspondem aos campos de sua tabela Access; somente os dados compatíveis serão acrescentados; clique em “Avançar”.
Verifique se está acrescentando os registros na tabela correta e clique em “Concluir”, conforme Figura 16.
Finalizando, temos a mesma oportunidade de salvar as etapas desta importação para serem utilizadas novamente assim como explicado no método anterior (Figura 14); clique em “Salvar Importação”, ou desmarque esta opção, e finalize a tarefa.
Prós e Contras
Quem trabalha com o arquivo CSV e o Access sabe que não há um método “correto” e outro “errado” de abrir CSV no Access, apenas maneiras diferentes de se chegar no mesmo resultado. Eu prefiro o método de vincular tabelas por preferir tratar erros de importação a partir de Consultas Ação, onde posso criar tabelas, acrescentar, editar ou até mesmo excluir registros nestas tabelas.
Padronizei meu trabalho desta forma e vou mostrar detalhadamente como faço. Os métodos de Importação e Acréscimo são mais rápidos, porém, menos maleáveis quando surgem erros de importação. Tudo vai depender do tamanho de seu arquivo CSV e de como os dados estão armazenados nele.