MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

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


3 participantes

    [Resolvido]importação de arquivos TXT em sequência para Access com codigo VBA

    avatar
    rodrigosky
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Anónimo
    Mensagens : 83
    Registrado : 17/05/2013

    [Resolvido]importação de arquivos TXT em sequência para Access com codigo VBA Empty importação de arquivos TXT em sequência para Access com codigo VBA

    Mensagem  rodrigosky 23/5/2013, 01:40

    Boa noite caros amigos, sou bastante inexperiente ainda com o Access e também com o VBA, venho através deste canal para solicitar ajuda pois estou tendo problemas para concluir um trabalho, o código abaixo consegui fazer para que ocorra a importação de arquivos texto que se encontra funcionando com sucesso, porem é feito um arquivo por vez, o que realmente era a necessidade no momento, porem agora em outra tarefa necessito processar mais de 500 arquivos textos em sequencia, gostaria de uma ajuda com o código abaixo para que eu consiga processar vários arquivos textos em sequencia. Desde já agradeço a todos e peço desculpas caso já exista tal duvida solucionada.

    Código do Formulário onde é possível localizar o arquivo e seleciona-lo.

    Private Sub Comando11_Click()
    On Error GoTo Err_cmd_Arquivo_Click

    Dim endereco As String
    Dim abrirArquivo As New CommonDialog

    endereco = abrirArquivo.GetOpenFile(Me.hWnd, "Selecione o arquivo a ser importado", "D:\Bancos de Dados\arquivos")
    If Len(endereco) > 0 Then
    txt_Arquivo = endereco
    Else
    txt_Arquivo = vbNullString
    End If


    Me.Recalc
    Me.Repaint
    Me.Requery

    Exit_cmd_Arquivo_Click:
    Exit Sub
    Err_cmd_Arquivo_Click:
    MsgBox Err.Description, vbCritical + vbOKOnly, "Nº Erro - " & Err.Number
    Resume Exit_cmd_Arquivo_Click
    End Sub


    Código onde o arquivo selecionado é processado e importado

    Private Sub Comando12_Click()
    On Error GoTo TrataErro

    Dim DB As DAO.Database
    Dim RS As DAO.Recordset
    Dim RS1 As DAO.Recordset
    Dim Linha As String


    If Len(Me.txt_Arquivo & vbNullString) = 0 Then ' Testa se txtNomeArq contém alguma coisa
    MsgBox "Informe o nome do arquivo a ser importado", vbExclamation + vbOKOnly, "Vazio"
    Me.txt_Arquivo.SetFocus
    Exit Sub
    End If
    If Len(Dir(Me.txt_Arquivo)) = 0 Then ' Testa a existência do arquivo
    MsgBox "O arquivo não existe!!!", vbCritical + vbOKOnly, "Erro"
    Me.txt_Arquivo.SetFocus
    Exit Sub
    End If

    Open Me.txt_Arquivo For Input As #1 ' Abre o arquivo a ser importado
    If MsgBox("Deseja importar a lista de Arquivo?", vbQuestion + vbYesNo, "Sistema!") = vbYes Then


    Set DB = CurrentDb
    Set RS = DB.OpenRecordset("tbl_retorno")


    While Not EOF(1)
    Line Input #1, Linha ' Lê uma linha do arquivo texto
    If Left$(Linha, 1) = "F" Then
    With RS
    .AddNew
    !codigo = Mid$(Linha, 1, 1)
    !identificador = Mid$(Linha, 2, 25)
    !nome = Mid$(Linha, 27, 4)
    !identificacao2 = Mid$(Linha, 31, 14)
    !Data = Mid$(Linha, 45, Cool
    !valor = CStr(Mid$(Linha, 53, 15) / 100)
    !codigo2 = Mid$(Linha, 68, 2)
    !uso_livre = Mid$(Linha, 70, 70)
    !reservado = Mid$(Linha, 140, 10)
    .Update

    End With

    End If
    Wend


    Saida:
    Close
    Set RS = Nothing
    Set DB = Nothing
    MsgBox "Importação realizada com sucesso!", vbInformation, "Sistema!"
    Exit Sub

    TrataErro:
    MsgBox Err.Description, vbExclamation + vbOKOnly, "Erro: " & CStr(Err.Number)
    #If DESENV Then ' Compilação condicional - Em desenvolvimento
    Stop
    Resume
    #End If
    Resume Saida
    End If
    End Sub

    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8443
    Registrado : 05/11/2009

    [Resolvido]importação de arquivos TXT em sequência para Access com codigo VBA Empty Re: [Resolvido]importação de arquivos TXT em sequência para Access com codigo VBA

    Mensagem  Alexandre Neves 23/5/2013, 18:07

    Boa tarde, dilimaskywalker, e bem-vindo ao fórum
    O código que publicou, abre uma pasta para escolher o ficheiro a importar
    Tem os vários ficheiros (e apenas esses) na mesma pasta?


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    avatar
    rodrigosky
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Anónimo
    Mensagens : 83
    Registrado : 17/05/2013

    [Resolvido]importação de arquivos TXT em sequência para Access com codigo VBA Empty Re: [Resolvido]importação de arquivos TXT em sequência para Access com codigo VBA

    Mensagem  rodrigosky 24/5/2013, 03:18

    Alexandre é isso mesmo, ele ira buscar sempre somente nesta pasta.
    obrigado
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8443
    Registrado : 05/11/2009

    [Resolvido]importação de arquivos TXT em sequência para Access com codigo VBA Empty Re: [Resolvido]importação de arquivos TXT em sequência para Access com codigo VBA

    Mensagem  Alexandre Neves 24/5/2013, 17:39

    Boa tarde,
    Private Sub Comando12_Click()
    On Error GoTo TrataErro

    Dim DB As DAO.Database
    Dim RS As DAO.Recordset
    Dim Linha As String
    Dim objFileSys,objFolder

    Set objFileSys = CreateObject("Scripting.FileSystemObject")
    Set objFolder = objFileSys.GetFolder(ColoqueAquiOEndereçoDaPasta)
    Set DB = CurrentDb
    Set RS = DB.OpenRecordset("tbl_retorno")

    For Each objFile In objFolder.Files
    Open objFile.Name For Input As #1 ' Abre o arquivo a ser importado
    'If MsgBox("Deseja importar a lista de Arquivo?", vbQuestion + vbYesNo, "Sistema!") = vbYes Then

    While Not EOF(1)
    Line Input #1, Linha ' Lê uma linha do arquivo texto
    If Left$(Linha, 1) = "F" Then
    With RS
    .AddNew
    !codigo = Mid$(Linha, 1, 1)
    !identificador = Mid$(Linha, 2, 25)
    !nome = Mid$(Linha, 27, 4)
    !identificacao2 = Mid$(Linha, 31, 14)
    !Data = Mid$(Linha, 45,
    !valor = CStr(Mid$(Linha, 53, 15) / 100)
    !codigo2 = Mid$(Linha, 68, 2)
    !uso_livre = Mid$(Linha, 70, 70)
    !reservado = Mid$(Linha, 140, 10)
    .Update

    End With

    End If
    Wend
    Next

    Saida:
    Close
    Set RS = Nothing
    Set DB = Nothing
    MsgBox "Importação realizada com sucesso!", vbInformation, "Sistema!"
    Exit Sub

    TrataErro:
    MsgBox Err.Description, vbExclamation + vbOKOnly, "Erro: " & CStr(Err.Number)
    #If DESENV Then ' Compilação condicional - Em desenvolvimento
    Stop
    Resume
    #End If
    Resume Saida
    'End If
    End Sub


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    avatar
    rodrigosky
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Anónimo
    Mensagens : 83
    Registrado : 17/05/2013

    [Resolvido]importação de arquivos TXT em sequência para Access com codigo VBA Empty Re: [Resolvido]importação de arquivos TXT em sequência para Access com codigo VBA

    Mensagem  rodrigosky 24/5/2013, 19:50

    Valeu Alexandre vou testar a nova adaptação.
    Muito Obrigado
    avatar
    rodrigosky
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Anónimo
    Mensagens : 83
    Registrado : 17/05/2013

    [Resolvido]importação de arquivos TXT em sequência para Access com codigo VBA Empty Re: [Resolvido]importação de arquivos TXT em sequência para Access com codigo VBA

    Mensagem  rodrigosky 27/5/2013, 13:32

    Alexandre,
    inseri o codigo e o caminho dos arquivos, porem ele esta importando somente o primeiro arquivo salvo na pasta e quando ele termina a importação do primeiro arquivo, ao voltar no loop ele apresenta a mensagem de erro o arquivo ja foi aberto.
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8443
    Registrado : 05/11/2009

    [Resolvido]importação de arquivos TXT em sequência para Access com codigo VBA Empty Re: [Resolvido]importação de arquivos TXT em sequência para Access com codigo VBA

    Mensagem  Alexandre Neves 27/5/2013, 20:17

    Boa noite,
    Só testando os ficheiros. Disponibilize-os


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    avatar
    rodrigosky
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Anónimo
    Mensagens : 83
    Registrado : 17/05/2013

    [Resolvido]importação de arquivos TXT em sequência para Access com codigo VBA Empty importação de arquivos TXT em sequência para Access com codigo VBA

    Mensagem  rodrigosky 28/5/2013, 12:57

    Conforme solicitado, segue ficheiro com alguns exemplos dos arquivos que desejo importa-los, todos de uma so vez.
    Valeu Alexandre, Muito Obrigado
    avatar
    rodrigosky
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Anónimo
    Mensagens : 83
    Registrado : 17/05/2013

    [Resolvido]importação de arquivos TXT em sequência para Access com codigo VBA Empty Re: [Resolvido]importação de arquivos TXT em sequência para Access com codigo VBA

    Mensagem  rodrigosky 28/5/2013, 13:08

    Perdão Alexandre, não estou conseguindo anexar o ficheiro, sempre ocorre a mensagem de erro O arquivo adicionado não é valido, tentei em varios formatos ate somente o .TXT a falha se repete, o tamanho também esta padrão, teria alguma outra forma que eu possa encaminha-lo?
    avatar
    washytonn
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 295
    Registrado : 13/01/2012

    [Resolvido]importação de arquivos TXT em sequência para Access com codigo VBA Empty Re: [Resolvido]importação de arquivos TXT em sequência para Access com codigo VBA

    Mensagem  washytonn 28/5/2013, 13:32

    ja tentou colocar dentro de uma pasta .zip?
    avatar
    rodrigosky
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Anónimo
    Mensagens : 83
    Registrado : 17/05/2013

    [Resolvido]importação de arquivos TXT em sequência para Access com codigo VBA Empty Re: [Resolvido]importação de arquivos TXT em sequência para Access com codigo VBA

    Mensagem  rodrigosky 28/5/2013, 15:28

    segue arquivo como solicitado, tinha tentado antes com ele zipado, agora consegui nao sei porquer rsrs, mas ajuda valeu
    Anexos
    [Resolvido]importação de arquivos TXT em sequência para Access com codigo VBA AttachmentBanco de Dados e Arquivos.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (38 Kb) Baixado 144 vez(es)
    avatar
    washytonn
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 295
    Registrado : 13/01/2012

    [Resolvido]importação de arquivos TXT em sequência para Access com codigo VBA Empty Re: [Resolvido]importação de arquivos TXT em sequência para Access com codigo VBA

    Mensagem  washytonn 28/5/2013, 15:30

    você pode ter colocado ao inves de .zip como .rar, e o forum não reconhece.
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8443
    Registrado : 05/11/2009

    [Resolvido]importação de arquivos TXT em sequência para Access com codigo VBA Empty Re: [Resolvido]importação de arquivos TXT em sequência para Access com codigo VBA

    Mensagem  Alexandre Neves 28/5/2013, 18:59

    Boa tarde,
    Os ficheiros não estão em formato que sejam importados.


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    avatar
    rodrigosky
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Anónimo
    Mensagens : 83
    Registrado : 17/05/2013

    [Resolvido]importação de arquivos TXT em sequência para Access com codigo VBA Empty Re: [Resolvido]importação de arquivos TXT em sequência para Access com codigo VBA

    Mensagem  rodrigosky 28/5/2013, 19:45

    Os arquivos em questão, deverão ser abertos como .txt, porem eu estou anexando os mesmos arquivos já em txt, para facilitar.
    Anexos
    [Resolvido]importação de arquivos TXT em sequência para Access com codigo VBA Attachmentarquivos.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (1 Kb) Baixado 137 vez(es)
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8443
    Registrado : 05/11/2009

    [Resolvido]importação de arquivos TXT em sequência para Access com codigo VBA Empty Re: [Resolvido]importação de arquivos TXT em sequência para Access com codigo VBA

    Mensagem  Alexandre Neves 28/5/2013, 19:57

    Boa tarde,
    Private Sub Comando12_Click()
    On Error GoTo TrataErro

    Dim DB As DAO.Database
    Dim RS As DAO.Recordset
    Dim Linha As String
    Dim objFileSys,objFolder

    Set objFileSys = CreateObject("Scripting.FileSystemObject")
    Set objFolder = objFileSys.GetFolder(ColoqueAquiOEndereçoDaPasta)
    Set DB = CurrentDb
    Set RS = DB.OpenRecordset("tbl_retorno")

    For Each objFile In objFolder.Files
    Open "ColoqueAquiOEndereçoDaPasta\" & objFile.Name For Input As #1 ' Abre o arquivo a ser importado
    'If MsgBox("Deseja importar a lista de Arquivo?", vbQuestion + vbYesNo, "Sistema!") = vbYes Then

    While Not EOF(1)
    Line Input #1, Linha ' Lê uma linha do arquivo texto
    If Left$(Linha, 1) = "F" Then
    With RS
    .AddNew
    !codigo = Mid$(Linha, 1, 1)
    !identificador = Mid$(Linha, 2, 25)
    !nome = Mid$(Linha, 27, 4)
    !identificacao2 = Mid$(Linha, 31, 14)
    !Data = Mid$(Linha, 45,
    !valor = CStr(Mid$(Linha, 53, 15) / 100)
    !codigo2 = Mid$(Linha, 68, 2)
    !uso_livre = Mid$(Linha, 70, 70)
    !reservado = Mid$(Linha, 140, 10)
    .Update

    End With

    End If
    Wend
    Close #1
    Next

    Saida:
    Close
    Set RS = Nothing
    Set DB = Nothing
    MsgBox "Importação realizada com sucesso!", vbInformation, "Sistema!"
    Exit Sub

    TrataErro:
    MsgBox Err.Description, vbExclamation + vbOKOnly, "Erro: " & CStr(Err.Number)
    #If DESENV Then ' Compilação condicional - Em desenvolvimento
    Stop
    Resume
    #End If
    Resume Saida
    'End If
    End Sub


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    avatar
    rodrigosky
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Anónimo
    Mensagens : 83
    Registrado : 17/05/2013

    [Resolvido]importação de arquivos TXT em sequência para Access com codigo VBA Empty Re: [Resolvido]importação de arquivos TXT em sequência para Access com codigo VBA

    Mensagem  rodrigosky 29/5/2013, 16:07

    Alexandre, muito obrigado pela ajuda, os arquivos estão sendo importados com sucesso!!!
    Valeu
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8443
    Registrado : 05/11/2009

    [Resolvido]importação de arquivos TXT em sequência para Access com codigo VBA Empty Re: [Resolvido]importação de arquivos TXT em sequência para Access com codigo VBA

    Mensagem  Alexandre Neves 29/5/2013, 17:47

    [Resolvido]importação de arquivos TXT em sequência para Access com codigo VBA MaximoAccess%20ResolvidoMarcado


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo

    Conteúdo patrocinado


    [Resolvido]importação de arquivos TXT em sequência para Access com codigo VBA Empty Re: [Resolvido]importação de arquivos TXT em sequência para Access com codigo VBA

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 29/3/2024, 06:54