Como importar todos os arquivos dentro de uma pasta para sua tabela de acesso

Compartilhe agora:

Dados, dados, dados – sem eles, um banco de dados seria bastante inútil. Portanto, não é surpresa que um dos most As perguntas mais frequentes quando se trata de colocar esses dados em sua(s) tabela(s) do Access é – como posso facilitar minha vida quando tenho que importar regularmente muitos (e muitos!) arquivos? Como é uma tarefa tão comum, obviamente há várias maneiras de esfolar aquele gato em particular, mas aqui vamos ver apenas uma - na minha opinião a mais fácil - especialmente se você estiver fazendo isso regularmente, ou mesmo prazo programado. Um pouco de planejamento (e eu quero dizer um pouco!) E um pouco de mágica VBA e você estará pronto para ir - continue lendo para obter started…

Importando todos os arquivos do Excel em uma pasta

Importar arquivo do Excel para acessarPara este artigo, veremos a importação de vários arquivos do Excel em uma determinada pasta, mas você pode facilmente importar arquivos csv etc. Discutiremos como alterar o código para lidar com arquivos csv em breve.

Primeiramente, vamos definir o que queremos que o código faça:

“Queremos importar todos os arquivos de uma determinada pasta para uma tabela existente – também queremos especificar se os arquivos têm uma linha de cabeçalho ou não”

Parece bastante simples, então vamos ver o código para fazer isso:

Sub ImportfromPath(path As String, intoTable As String, hasHeader As Boolean) Dim fileName As String 'Percorre a pasta e importa cada arquivo fileName = Dir(path & "\*.xls") While fileName <> "" DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel12, intoTable, path & fileName, hasHeader 'verifica se há mais arquivos para importar fileName = Dir() Wend End Sub

Verificando problemas…

Acesse a corrupção do banco de dadosAntes de entrarmos em detalhes sobre como esse código funciona, é importante observar que não há verificação de erros incluída no código acima - isso é deliberado para que o código seja facilmente legível, mas sugiro fortemente que você adicione código de tratamento de erros ao seu banco de dados para manter as chances de Corrupção do banco de dados de acesso ao mínimo!

OK - as primeiras coisas primeiro. Para manter o código utilizável em diferentes circunstâncias, pedimos o nome do caminho (onde os arquivos estão armazenados), o nome da tabela para a qual você deseja importar esses arquivos e se todos os arquivos nesta pasta têm um cabeçalho ou não (ou seja, os nomes dos campos aparecem na primeira linha da planilha).

Você notará que a parte do código que procura arquivos – Dir(path & “\*.xls”) – acrescenta um curinga e uma extensão de arquivo ao caminho fornecido. Menciono isso porque seria muito fácil alterar o código se, por exemplo, você quisesse apenas importar arquivos que correspondam a uma convenção de nomenclatura específica (por exemplo, todos os arquivos que tenham “janeiro” ou “2017” como parte do nome do arquivo ). Você poderia, se quisesse, até adicionar esse filtro como parâmetro para a chamada da sub-rotina.

De qualquer forma, se um arquivo corresponder aos critérios fornecidos (qualquer arquivo “.xls” na pasta usando o neste caso), ele imediatamente tenta importar esse arquivo usando o comando TransferSpreadsheet.

Onde alterar o código para atender às suas necessidades…

É neste ponto que você pode alterar o código para que, em vez de importar uma planilha, importe arquivos csv (usando o comando “TransferText”) etc.

O código faz um loop até que não haja mais arquivos para importar nessa pasta.

É um pequeno pedaço de código, mas que você se verá usando repetidamente, tenho certeza!

Introdução do autor:

Mitchell Pond é um especialista em recuperação de dados em DataNumen, Inc., líder mundial em tecnologias de recuperação de dados, incluindo reparar corrupção de SQL e produtos de software de recuperação do Excel. Para mais informações visite www.datanumen.com

Compartilhe agora:

3 respostas para “Como importar todos os arquivos de uma pasta para sua tabela de acesso”

  1. Uau, estrutura de weblog incrível! Quanto tempo você já esteve blogando?
    Você faz com que um blog pareça fácil. A visão geral do seu site é fantástica, assim como
    o conteúdo! Você pode ver algo semelhante aqui sklep internetowy

  2. Fui recomendado este blog pelo meu primo. Não tenho certeza se isso post
    é escrito por ele como ninguém sabe tão detalhadamente sobre a minha dificuldade.
    Você é maravilhoso! Obrigado! fordero.shop

  3. Olá, acho que vi que você visitou meu blog, então vim “retribuir o favor”. Estou tentando encontrar coisas para melhorar meu site! Suponho que não há problema em usar algumas de suas ideias!!

Deixe um comentário

O seu endereço de e-mail não será publicado. Os campos obrigatórios são marcados com *