MaximoAccess

Caro Usuário, não tire as suas duvidas nas Salas de Repositório, abra sempre um novo tópico relacionado, nas salas destinadas para o efeito, como Sala de Tabelas, Consultas, Formulários, Relatórios, Macros, Módulos e VBA.

Obrigado

Administração do MaximoAccess

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access

    [Resolvido]Importar Vários txt para uma tabela

    Compartilhe

    RICARDO BARBOSA MACHADO
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 10
    Registrado : 21/07/2014

    [Resolvido]Importar Vários txt para uma tabela

    Mensagem  RICARDO BARBOSA MACHADO em Seg 21 Jul 2014, 16:18

    Sou novo no VB e estou tentando utilizar um código retirado de um forum e não estou conseguindo fazer com que funcione para a minha necessidade. Quero realizar uma importação de vários arquivos txt de uma pasta para o meu banco de dados. Utilizei um código, mas não está funcionando. Os dados são os seguintes: nome da tabela: "BASE TOTAL"; endereço onde se encontram os arquivos a serem importados: "F:\PROGRAMA INFORMATIVO"; especificação criada para a importação: "informativo base total". Se souberem outra forma também aceito. Desde já obrigado!



    Código que estou utilizando e não está dando certo:



    Private Sub Comando3_Click()
    Dim strArquivo As String, SQL As String, strTable As String
    Dim numCount As Integer

    On Error GoTo Err_Import

    With Form_ifrmExplorer 'ifrmExplorer: formulário utilizado

    If Not IsNull(.txtDir) Then 'txtDir: TextBox onde será informado o diretório dos arquivos

    DoCmd.Hourglass True 'Ampulheta

    'Declaração do diretório dos arquivos
    strArquivo = Dir(.txtDir & "\*.txt") 'Listagem apenas de arquivos .txt

    'Atribuição do nome da tabela de destino
    strTable = "BASE TOTAL"

    'Copia os nomes dos arquivos do diretório
    Do Until strArquivo = "F:\PROGRAMA INFORMATIVO"
    .lstArquivo.AddItem strArquivo 'Inclui os nomes dos arquivos txt à variável
    DoCmd.TransferText acImportDelim, "informativo base total", strTable, strArquivo, False 'Rotina para importar os arquivos txt
    strArquivo = Dir 'Atribuição do próximo .txt
    Loop
    .txtDir = Null 'Limpa as caixa de texto

    'Finalização do processo
    MsgBox "Processo finalizado com sucesso!", vbInformation, "iMasters - Access"
    DoCmd.Hourglass False 'Ampulheta

    Else

    'Solicitação de preenchimento do campo txtDir
    MsgBox "Informe o folder onde se encontram os arquivos!", vbCritical, "iMasters - Access"

    End If

    End With


    Exit_Import:
    Exit Sub

    Err_Import:
    MsgBox "Erro número: " & Err.Number & vbLf & vbLf & Err.Description, vbCritical, "iMasters - Access"
    DoCmd.Hourglass False 'Ampulheta

    Resume Exit_Import

    End Sub






    ahteixeira
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 3214
    Registrado : 15/03/2013

    Re: [Resolvido]Importar Vários txt para uma tabela

    Mensagem  ahteixeira em Ter 22 Jul 2014, 15:20

    Olá,

    Bem vindo ao forum.

    Não compreendi bem onde está o problema, talvez seja melhor postar uma base de exemplo e dois ficheiros de texto para a importação.

    No entanto, veja se este topico ajuda [Você precisa estar registrado e conectado para ver este link.]


    RICARDO BARBOSA MACHADO
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 10
    Registrado : 21/07/2014

    Re: [Resolvido]Importar Vários txt para uma tabela

    Mensagem  RICARDO BARBOSA MACHADO em Ter 22 Jul 2014, 20:23

    Obrigado pela resposta Ahteixeira, mas ainda não consegui realizar a importação.
    Vou tentar ser mais claro na minha indagação. O que eu preciso é de um código que importe os dados de um arquivo txt para uma tabela do meu bd independente do nome do arquivo ou da quantidade de arquivos existentes no endereço de importação. Ou seja, que o bd importe todos os arquivos txt existentes na pasta ou endereço que for determinado para uma tabela.

    O que eu tenho hoje já faz a importação de um arquivo txt, porém, eu tenho que determinar o nome dele, conforme o código abaixo.



    Function IMPORTAR_BASE_TOTAL()
    On Error GoTo IMPORTAR_BASE_TOTAL_Err

       DoCmd.TransferText acImportDelim, "INFORMATIVO BASE TOTAL"(nome da especificação), "BASE TOTAL"(nome da tabela), "D:\GCOP 2014\PROGRAMAS\PROGRAMA INFORMATIVO\IMPORTAR\ARQ1.TXT" (endereço do arquivo), False, ""


    IMPORTAR_BASE_TOTAL_Exit:
       Exit Function

    IMPORTAR_BASE_TOTAL_Err:
       MsgBox Error$
       Resume IMPORTAR_BASE_TOTAL_Exit

    End Function

    obs.: Encaminhei o bd anexo à mensagem
    Anexos
    TESTE.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (25 Kb) Baixado 28 vez(es)

    RICARDO BARBOSA MACHADO
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 10
    Registrado : 21/07/2014

    Re: [Resolvido]Importar Vários txt para uma tabela

    Mensagem  RICARDO BARBOSA MACHADO em Ter 22 Jul 2014, 20:26

    Boa tarde,

    Segue o arquivo txt.
    Anexos
    ARQ1.txt
    Você não tem permissão para fazer download dos arquivos anexados.
    (1.1 Mb) Baixado 25 vez(es)

    ahteixeira
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 3214
    Registrado : 15/03/2013

    Re: [Resolvido]Importar Vários txt para uma tabela

    Mensagem  ahteixeira em Ter 22 Jul 2014, 22:41

    Olá de novo.

    A) Ou seja uma determinada pasta vai ter um numero indeterminado de arquivos com a extensão txt e pretendes que aplicação verifique todos e importe para uma determinada tabela, é isso?

    B) Não compreendi o que pretendes fazer com o nome do arquivo, pretendes ter uma tabela de "indice" que tenha o nome dos ficheiros txt importados?

    Fico aguardar, entretanto vou dar uma vista de olhos aos ficheiros disponiblizados.

    Abraço


    Última edição por ahteixeira em Sex 15 Ago 2014, 16:08, editado 1 vez(es)

    RICARDO BARBOSA MACHADO
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 10
    Registrado : 21/07/2014

    Re: [Resolvido]Importar Vários txt para uma tabela

    Mensagem  RICARDO BARBOSA MACHADO em Ter 22 Jul 2014, 22:48



    Boa tarde,

    Em relação ao item A) é isso mesmo.
    Em relação ao item B) eu só coloquei o nome do arquivo para ilustrar que só consigo importa-lo caso informe exatamente qual é. Mas não quero um índice que tenha o nome dos ficheiros importados.

    Obrigado!

    ahteixeira
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 3214
    Registrado : 15/03/2013

    Re: [Resolvido]Importar Vários txt para uma tabela

    Mensagem  ahteixeira em Ter 22 Jul 2014, 22:55

    Verificaste o link que coloquei na mensagem nº 2.
    O exemplo que postei faz uma "varredura/pequisa" à pasta e está a informar o nome do ficheiro.
    Aguardo retorno

    RICARDO BARBOSA MACHADO
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 10
    Registrado : 21/07/2014

    Re: [Resolvido]Importar Vários txt para uma tabela

    Mensagem  RICARDO BARBOSA MACHADO em Ter 22 Jul 2014, 22:59

    Dei uma olhada sim, porém, não consegui identificar onde digitar o caminho e a especificação para ele processar e importar o arquivo. Ou seja, onde digitar no código esses dados?

    ahteixeira
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 3214
    Registrado : 15/03/2013

    Re: [Resolvido]Importar Vários txt para uma tabela

    Mensagem  ahteixeira em Ter 22 Jul 2014, 23:04

    Ok, vou dar-te uma ajuda.
    No entanto eu aqui em casa só tenho o Office2007 e não consigo visualizar a Macro.
    No entanto, da forma que está consegues importar só o ficheiro e faz a importação correctamente?

    RICARDO BARBOSA MACHADO
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 10
    Registrado : 21/07/2014

    Re: [Resolvido]Importar Vários txt para uma tabela

    Mensagem  RICARDO BARBOSA MACHADO em Ter 22 Jul 2014, 23:15

    Ok. Obrigado mais uma vez.
    A macro que disponibilizei faz exatamente o que está no código, então não se preocupe com ela. Só coloquei para mostrar que dá para fazer através das duas formas: código e macro.
    As duas funcionam e a importação sai corretamente.

    ahteixeira
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 3214
    Registrado : 15/03/2013

    Re: [Resolvido]Importar Vários txt para uma tabela

    Mensagem  ahteixeira em Ter 22 Jul 2014, 23:21

    Estou a integrar o código do meu exemplo.
    Depois terás que acertar só a consulta de importação.
    Mais um pouquinho

    ahteixeira
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 3214
    Registrado : 15/03/2013

    Re: [Resolvido]Importar Vários txt para uma tabela

    Mensagem  ahteixeira em Ter 22 Jul 2014, 23:41

    Já está integrado, estava a dar um erro.

    Link para download TesteRicardo.zip

    Descompacta exemplo para a pasta C:\TesteRicardo
    Depois é abrir o formulário frmImporta, lá podes alterar o caminho (Não esquecer de colocar a barra \ no fim do caminho)

    Quanto ao importar (DoCmd.TransferText........) terás que ajustar, não me parece que esteja em sintonia com o fortmato do txt.

    Aqui já e tarde vou descansar, fico aguardar retorno.

    Abraço


    Última edição por ahteixeira em Seg 21 Set 2015, 00:09, editado 1 vez(es)

    RICARDO BARBOSA MACHADO
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 10
    Registrado : 21/07/2014

    Re: [Resolvido]Importar Vários txt para uma tabela

    Mensagem  RICARDO BARBOSA MACHADO em Ter 22 Jul 2014, 23:45

    Vou fazer os testes e informo assim que possível.
    Bom descanso!

    Obrigado

    RICARDO BARBOSA MACHADO
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 10
    Registrado : 21/07/2014

    Re: [Resolvido]Importar Vários txt para uma tabela

    Mensagem  RICARDO BARBOSA MACHADO em Qua 23 Jul 2014, 11:32

    Ahteixeira,

    Ficou melhor do que eu imaginava.
    Toda vez que precisava criar uma macro de importação tinha que informar o endereço e o nome do arquivo fixo, fazendo com que o usuário tivesse que salvar o arquivo na pasta indicada e com o nome correto, caso contrário não conseguiria importar o arquivo. O que eu havia solicitado era simplesmente um código que importasse todos os arquivos de uma pasta fixa. Porém, com o botão que você criou o usuário tem condições de dizer o caminho e ainda importar todos os arquivos da pasta.

    Muito obrigado e parabéns!
    Ricardo

    ahteixeira
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 3214
    Registrado : 15/03/2013

    Re: [Resolvido]Importar Vários txt para uma tabela

    Mensagem  ahteixeira em Qua 23 Jul 2014, 12:13

    Olá Ricardo,

    O forum agradece o retorno.

    Não se esqueça de dar o tópico como resolvido, veja link abaixo:
    [Você precisa estar registrado e conectado para ver este link.]

    RICARDO BARBOSA MACHADO
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 10
    Registrado : 21/07/2014

    Re: [Resolvido]Importar Vários txt para uma tabela

    Mensagem  RICARDO BARBOSA MACHADO em Qua 23 Jul 2014, 12:38

    OK
    Obrigado mais uma vez!

    lusouza
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 104
    Registrado : 10/12/2012

    Importar Vários txt para uma tabela

    Mensagem  lusouza em Seg 04 Ago 2014, 23:15

    Poderiam postar o arquivo em 2003 por favor , estou com o mesmo problema ...
    Obrigada

    ahteixeira
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 3214
    Registrado : 15/03/2013

    Re: [Resolvido]Importar Vários txt para uma tabela

    Mensagem  ahteixeira em Ter 05 Ago 2014, 00:12

    Aqui vai conversão express, abaixo link para download:
    TesteRicardo_2007_2003.zip
    Abraço


    Última edição por ahteixeira em Seg 21 Set 2015, 00:12, editado 1 vez(es)

    lusouza
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 104
    Registrado : 10/12/2012

    Importar Vários txt para uma tabela

    Mensagem  lusouza em Qua 06 Ago 2014, 01:04

    Obrigada pela ajuda !

      Data/hora atual: Qua 07 Dez 2016, 20:09