MaximoAccess

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

Obrigado

Administração do MaximoAccess

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

    Importação de vários arquivos - Extrato Bancario - CNAB 240

    avatar
    lucioapo
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 44
    Registrado : 12/05/2013

    Importação de vários arquivos - Extrato Bancario - CNAB 240 Empty Importação de vários arquivos - Extrato Bancario - CNAB 240

    Mensagem  lucioapo em Sab Maio 16, 2020 12:16 am

    Boa noite,
    Estou precisando ler varios arquivos de extratos bancarios, cnab 240, os quais são baixados diariamente em um diretorio.

    Então é preciso:
    Ler os arquivos
    Gravar cada registro do arquivo em uma tabela
    Criar um diretório ARQ_LIDOS_AAAA-MM-DD
    Mover o arquivo lido para uma nova pasta de lidos ARQ_LIDOS_AAAA-MM-DD

    Com anexo desta mensagem esta layout do Banco no padrão Febraban 240

    Antecipadamente grato,
    Anexos
    Importação de vários arquivos - Extrato Bancario - CNAB 240 Attachment004ExConcBanc.pdf
    Você não tem permissão para fazer download dos arquivos anexados.
    (71 Kb) Baixado 6 vez(es)
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2103
    Registrado : 22/11/2016

    Importação de vários arquivos - Extrato Bancario - CNAB 240 Empty Re: Importação de vários arquivos - Extrato Bancario - CNAB 240

    Mensagem  DamascenoJr. em Sab Maio 16, 2020 12:46 am

    Faltou anexar um arquivo de exemplo para que os membros possam tentar ajudar.

    Apenas o manual, sem o arquivo citado com dados (mesmo que fictícios), impossível ajudar.


    .................................................................................
    Ajude-se a ser ajudado, anexe seu projeto.
    Sempre tente entender o código,
    não somente copie e cole.
    Positive as mensagens que achar útil clicando no '+' no canto superior direito delas.
    avatar
    lucioapo
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 44
    Registrado : 12/05/2013

    Importação de vários arquivos - Extrato Bancario - CNAB 240 Empty Re: Importação de vários arquivos - Extrato Bancario - CNAB 240

    Mensagem  lucioapo em Sab Maio 16, 2020 12:53 am

    Entendi Damasceno.

    A questão é que no momento ainda não tenho nada.

    So conversei no banco e eles tem como enviar uma arquivo cnab para cada conta e por dia. O layou do arquivo é este pdf que anexei.

    Então estou estudando como fazer e os campos que terei que criar para serem gravados cada informação deste layout.

    Obrigado.
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2103
    Registrado : 22/11/2016

    Importação de vários arquivos - Extrato Bancario - CNAB 240 Empty Re: Importação de vários arquivos - Extrato Bancario - CNAB 240

    Mensagem  DamascenoJr. em Sab Maio 16, 2020 1:07 am



    .................................................................................
    Ajude-se a ser ajudado, anexe seu projeto.
    Sempre tente entender o código,
    não somente copie e cole.
    Positive as mensagens que achar útil clicando no '+' no canto superior direito delas.
    avatar
    lucioapo
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 44
    Registrado : 12/05/2013

    Importação de vários arquivos - Extrato Bancario - CNAB 240 Empty Re: Importação de vários arquivos - Extrato Bancario - CNAB 240

    Mensagem  lucioapo em Sab Maio 16, 2020 1:13 am

    Obrigado Damascendo,
    Vou ler estes ai. Vi aqui que as materias se referente ao CNAB para retorno de boleto bancario, cujo layout é diferente para o de extrato bancario.
    De qualquer forma a logica é a mesma.
    avatar
    lucioapo
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 44
    Registrado : 12/05/2013

    Importação de vários arquivos - Extrato Bancario - CNAB 240 Empty Re: Importação de vários arquivos - Extrato Bancario - CNAB 240

    Mensagem  lucioapo em Sab Maio 16, 2020 3:41 am

    Exemplo
    Consegui um arquivo retorno de extrato bancario, conforme abaixo.
    Envio tambem o mesmo em anexo.

    00100000         2997993050001828414076900006       000868000000018814X ZUCATE MELH ZANT CERREKO     BANCO DO BRASIL S.A.                    22003202004265100000203001600300815223                                                            
    00100011E0440020 2997993050001828414076900006       000868000000018814X ZUCATE MELH ZANT CERREKO                                             13032020000000000000000000CFBRL00001                                                              
    0010001300001E   2997993050001828414076900006       000868000000018814X ZUCATE MELH ZANT CERREKO                                    S1603202016032020000000000000100000C2130870TRANSF RECEBIDA          554250000017117                        
    0010001300002E   2997993050001828414076900006       000868000000018814X ZUCATE MELH ZANT CERREKO                                    S1603202016032020000000000003252632C2090976TED-CRED CONTA           0996150                                
    0010001300003E   2997993050001828414076900006       000868000000018814X ZUCATE MELH ZANT CERREKO                                    S1603202016032020000000000002977809C2090976TED-CRED CONTA           8902663                                
    0010001300004E   2997993050001828414076900006       000868000000018814X ZUCATE MELH ZANT CERREKO                                    S1603202016032020000000000001488904C2090976TED-CRED CONTA           8902737                                
    0010001300005E   2997993050001828414076900006       000868000000018814X ZUCATE MELH ZANT CERREKO                                    S1603202016032020000000000004176774C2090976TED-CRED CONTA           9676894                                
    0010001300006E   2997993050001828414076900006       000868000000018814X ZUCATE MELH ZANT CERREKO                                    S1603202016032020000000000000018290D1040109PAG BOLETO               0031601                                
    0010001300007E   2997993050001828414076900006       000868000000018814X ZUCATE MELH ZANT CERREKO                                    S1603202016032020000000000011977829D1060345BB CP AUT S P            0000070                                
    0010001300008E   2997993050001828414076900006       000868000000018814X ZUCATE MELH ZANT CERREKO                                    S1703202017032020000000000000122311D1040363TELEFONE                 0031701                                
    0010001300009E   2997993050001828414076900006       000868000000018814X ZUCATE MELH ZANT CERREKO                                    S1703202017032020000000000000122311C2060855RF DI AGIL               0000001                                
    0010001300010E   2997993050001828414076900006       000868000000018814X ZUCATE MELH ZANT CERREKO                                    S1803202018032020000000000000093429D1120490PAG. FORNECEDOR          0000633                                
    0010001300011E   2997993050001828414076900006       000868000000018814X ZUCATE MELH ZANT CERREKO                                    S1803202018032020000000000000134762D1120490PAG. FORNECEDOR          0000634                                
    0010001300012E   2997993050001828414076900006       000868000000018814X ZUCATE MELH ZANT CERREKO                                    S1803202018032020000000000001000000D1200393TED                      0000635                                
    0010001300013E   2997993050001828414076900006       000868000000018814X ZUCATE MELH ZANT CERREKO                                    S1803202018032020000000000001228191C2060855RF DI AGIL               0000001                                
    0010001300014E   2997993050001828414076900006       000868000000018814X ZUCATE MELH ZANT CERREKO                                    S1903202019032020000000000000027652D1170120TRANSF POUPANCA          555901510018293                        
    0010001300015E   2997993050001828414076900006       000868000000018814X ZUCATE MELH ZANT CERREKO                                    S1903202019032020000000000000000680D1050170TAR PAG FORNEC           820790904202724                        
    0010001300016E   2997993050001828414076900006       000868000000018814X ZUCATE MELH ZANT CERREKO                                    S1903202019032020000000000000000650D1050170TAR PAG FORNEC           820790904203758                        
    0010001300017E   2997993050001828414076900006       000868000000018814X ZUCATE MELH ZANT CERREKO                                    S1903202019032020000000000000028982C2060855RF DI AGIL               0000001                                
    0010001300018E   2997993050001828414076900006       000868000000018814X ZUCATE MELH ZANT CERREKO                                    S2003202020032020000000000000026700C2090976TED-CRED CONTA           2860147                                
    0010001300019E   2997993050001828414076900006       000868000000018814X ZUCATE MELH ZANT CERREKO                                    S2003202020032020000000000000024701D1040375IMPOSTOS                 0032001                                
    0010001300020E   2997993050001828414076900006       000868000000018814X ZUCATE MELH ZANT CERREKO                                    S2003202020032020000000000000001999D1060345BB CP AUT S P            0000070                                
    00100015         2997993050001828414076900006       000868000000018814X ZUCATE MELH ZANT CERREKO         00000000000000000000000000000000000020032020000000000000000000CF000022000000000013402303000000000013402303                            
    00199999         000001000024000001
    Anexos
    Importação de vários arquivos - Extrato Bancario - CNAB 240 AttachmentIEDDEB2200320200.ret2.txt
    Você não tem permissão para fazer download dos arquivos anexados.
    (6 Kb) Baixado 3 vez(es)
    avatar
    lucioapo
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 44
    Registrado : 12/05/2013

    Importação de vários arquivos - Extrato Bancario - CNAB 240 Empty Re: Importação de vários arquivos - Extrato Bancario - CNAB 240

    Mensagem  lucioapo em Ter Maio 26, 2020 12:20 am

    Boa noite a todos,

    Consegui fazer a leitura do arquivo txt e gravar em uma tabela.

    A questão agora é a seguinte.
    São 1202 arquivos que precisam ser importados e depois movimento para uma pasta ARQUIVOS_IMPORTADOS
    Hoje faço um a um, o processo de importação.

    É possível via access cada arquivos ser lido e movido para a parta ARQUIVOS_IMPORTADOS? Se sim, como?

    Seria tipo um loop com o sistema varrendo o diretório, pegando o primeiro arquivo, importando e movendo do mês. Logo apos fazer o mesmo processo como o próximo arquivos e assim por diante, até terminar.
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2103
    Registrado : 22/11/2016

    Importação de vários arquivos - Extrato Bancario - CNAB 240 Empty Re: Importação de vários arquivos - Extrato Bancario - CNAB 240

    Mensagem  DamascenoJr. em Ter Maio 26, 2020 2:31 am



    .................................................................................
    Ajude-se a ser ajudado, anexe seu projeto.
    Sempre tente entender o código,
    não somente copie e cole.
    Positive as mensagens que achar útil clicando no '+' no canto superior direito delas.
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2103
    Registrado : 22/11/2016

    Importação de vários arquivos - Extrato Bancario - CNAB 240 Empty Re: Importação de vários arquivos - Extrato Bancario - CNAB 240

    Mensagem  DamascenoJr. em Ter Maio 26, 2020 12:30 pm

    Vi que já foi aberto novo tópico para a nova dúvida. Se a dúvida inicial destw tópico já foi resolvida, entao marcar o resolvido do topico.


    .................................................................................
    Ajude-se a ser ajudado, anexe seu projeto.
    Sempre tente entender o código,
    não somente copie e cole.
    Positive as mensagens que achar útil clicando no '+' no canto superior direito delas.
    avatar
    lucioapo
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 44
    Registrado : 12/05/2013

    Importação de vários arquivos - Extrato Bancario - CNAB 240 Empty Re: Importação de vários arquivos - Extrato Bancario - CNAB 240

    Mensagem  lucioapo em Ter Maio 26, 2020 12:40 pm

    Bom dia a todos,

    Referente a este tópico consegui importar o arquivo CNAB 240 do Banco do Brasil.

    Falta alguns detalhes, para os quais peço ajuda e que também estou lendo a respeito, inclusive com os tópicos que o Damascendo indicou.

    1) É possível fazer multi seleção de arquivos para importar. Com o código abaixo só consigo fazer a importação de um arquivo por vez.
    Quando alterei AllowMultiSelect para True consegui selecionar vários arquivos, só que a importação foi feita somente com o primeiro arquivo.

    2) Uma outra funcionalidade que quero inserir é o próprio sistema varrer o diretório e importar arquivo a arquivo e depois mover para a pasta de Arq_Importados.
    Por enquanto a pergunta 1 acima resolve. Se funcionar a múltipla seleção ficará mais ágil ainda.

    3) Não consegui ainda, após a importação, mover o arquivo importado para a pasta Arq_Importados.

    4) É possível fixar um diretório padrão para abrir? No momento quando importo o primeiro arquivo.
    Quando clico para abrir o segundo ja abre o diretório anterior. Agora se eu encerrar o programa e abrir novamente, quando clico em importar, abre como padrão meus documento.


    5) Não consegui mostrar uma mensagem com a quantidade de lançamentos importados.


    Código:
    Private Sub Comando0_Click()
    Call BrowsingWindow
    End Sub

    'habilite a referencia VBA Microsoft Office xx.x Object Library
    Sub BrowsingWindow()

    Dim Dlg As FileDialog
    Dim txtFilePath As String
    Dim varFile As Variant

    Set Dlg = Application.FileDialog(msoFileDialogFilePicker)
    With Dlg
    .Title = "Selecione um arquivo para Importar"
    .AllowMultiSelect = True
    If .Show = True Then

    For Each varFile In .SelectedItems
    txtFilePath = varFile
    Next

    Else
    Exit Sub
    End If
    End With



    DoCmd.SetWarnings False
    Dim DB As DAO.Database
    Dim RS As DAO.Recordset
    Dim Linha As String
    Dim ValorLancto_ As Double
    Dim QteLanctosImportados

       
      'Open "C:\ExtConciliacaoBco\11185_IEDDEB11220520200.TXT" For Input As #1 ' Abre o arquivo a ser importado
      Open txtFilePath For Input As #1
     
      Set DB = CurrentDb
      Set RS = DB.OpenRecordset("ECArqMagConciliacaoBco")

    Dim strNome As String, strTel As String, strBairro As String
      strAImportar = ""
     
      While Not EOF(1)
      Line Input #1, Linha ' Lê uma linha do arquivo texto
     
    If Mid$(Linha, 8, 1) = "3" Then
      With RS
      .AddNew
     
      !AmeUsuarioCriacao = Forms!usuario!UsuNomeResumido
      !AmeTipoRegistro = Mid$(Linha, 8, 1)
      !AmeCodBcoComp = Mid$(Linha, 1, 3)
      '!AmeVersaolayout = Mid$(Linha, 14, 3)
      !AmeCodSegDetalhe = Mid$(Linha, 14, 1)
     
      !AmeTipoInscrEmpresa = Mid$(Linha, 18, 1)
      !AmeEmpresaCNPJ = Mid$(Linha, 19, 14)
     
      !AmeCodConvBanco = Mid$(Linha, 33, 20)
      !AmeContaBcoCompleta = Mid$(Linha, 59, 13)
      !AmeAgenciaContaComDV = Mid$(Linha, 53, 6)
      !AmeAgenciaContaSemDV = Mid$(Linha, 53, 5)
      !AmeAgenciaContaSoDV = Mid$(Linha, 58, 1)
      !AmeNumContaSemDV = Mid$(Linha, 59, 12)
      !AmeNumContaSoDv = Mid$(Linha, 71, 1)
      !AmeNomeEmpresa = Mid$(Linha, 73, 30)
     
      !AmedataContabil = Format(Mid$(Linha, 135, 2) & "/" & Mid$(Linha, 137, 2) & "/" & Mid$(Linha, 139, 4))
      !AmeDataLancto = Format(Mid$(Linha, 143, 2) & "/" & Mid$(Linha, 145, 2) & "/" & Mid$(Linha, 147, 4))
      !amedc = Mid$(Linha, 169, 1)
     
      ValorLancto_ = Mid$(Linha, 151, 16) & "," & Mid$(Linha, 167, 2)
      !AmeValorLancto = ValorLancto_
      'MsgBox "Valor do Lançamento no Extrato Bancario: " & ValorLancto_
     
      If Mid$(Linha, 169, 1) = "D" Then
      !AmeValorSaida = ValorLancto_
      ElseIf Mid$(Linha, 169, 1) = "C" Then
      !AmeValorEntrada = ValorLancto_
      End If
     
      !AmeCatLancto = Mid$(Linha, 170, 3)
      !AmeCodHistorico = Replace(Mid$(Linha, 173, 4), " ", "")
      !AmeHistorico = Replace(Mid$(Linha, 177, 25), " ", "")
      !AmeNumDoc = Replace(Mid$(Linha, 202, 39), " ", "")
     
    '    QteLanctosImportados = QteLinhasImportadas + 1
      .Update



    End With

    End If

      Wend
      ' MsgBox "Quantidade de Lançamentos Importados: " & QteLanctosImportados  ( Este aqui não funcionou. a Intenção é, apos a importação aparecer uma mensagem com a quantidade de lançamentos importados)
      Me.ExtratoMagConciliacaoBcoCB.Requery
    Saida:

      Close
      Set RS = Nothing
      Set DB = Nothing
     
    Exit Sub

     
      DoCmd.SetWarnings True
      Me.ExtratoMagConciliacaoBcoCB.Requery
    End Sub
    ahteixeira
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

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

    Importação de vários arquivos - Extrato Bancario - CNAB 240 Empty Re: Importação de vários arquivos - Extrato Bancario - CNAB 240

    Mensagem  ahteixeira em Ter Maio 26, 2020 2:30 pm

    Olá a todos

    Lucio, está no bom caminho, é só continuar a por a mão na massa Wink
    Como o colega Damasceno informou tem exemplos no fórum.

    Veja estes, faz varrimento de todos os ficheiros (txt) de uma pasta e também tem o contador.
    https://www.maximoaccess.com/t19696-resolvidoimportar-varios-txt-para-uma-tabela
    https://www.maximoaccess.com/t32187-resolvidoimportar-txt-para-tabela-linha-a-linha

    Para Mover tem muitos, mas poor exemplo verifique a mensagem numero 6 do tópico abaixo:
    https://www.maximoaccess.com/t24313-resolvidoexcluir-ou-mover-arquivo-externo-pelo-nome-e-data

    Nota: Ajustei o título do tópico.

    Abraço

    avatar
    lucioapo
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 44
    Registrado : 12/05/2013

    Importação de vários arquivos - Extrato Bancario - CNAB 240 Empty Re: Importação de vários arquivos - Extrato Bancario - CNAB 240

    Mensagem  lucioapo em Ter Maio 26, 2020 4:31 pm

    Obrigado pelas dicas.

    2) Uma outra funcionalidade que quero inserir é o próprio sistema varrer o diretório e importar arquivo a arquivo e depois mover para a pasta de Arq_Importados.


    A primeira parte da pergunta 2 acima, consegui resolver com o código que peguei em uma interação aqui no fórum de 21/07/2014 (https://www.maximoaccess.com/t19696-resolvidoimportar-varios-txt-para-uma-tabela).

    Com o código abaixo não preciso mais selecionar arquivo a arquivo para importação.

    Show de Bola.

    Código:
    Option Compare Database
    'requer referencia Microsoft Scripting Runtime
    Dim fso As New FileSystemObject
    Dim fld As folder

    '------------------------------------------------------------
    ' IMPORTAR_BASE_TOTAL
    '
    '------------------------------------------------------------
    Function IMPORTAR_BASE_TOTAL(PastaImportar)

    Dim sFol As String, sFile As String, _
      nDirs As Long, nFiles As Long
      Dim tFld As folder, tFil As File, FileName As String
     
    On Error GoTo IMPORTAR_BASE_TOTAL_Err

     
       sFol = PastaImportar
      sFile = "*.txt"
     
      Set fld = fso.GetFolder(sFol)
      FileName = Dir(fso.BuildPath(fld.Path, sFile), vbNormal Or _
                     vbHidden Or vbSystem Or vbReadOnly)
     
      If Len(FileName) > 0 Then
         
          While Len(FileName) <> 0
       
             nFiles = nFiles + 1
                      'MsgBox fso.BuildPath(fld.Path, FileName) 'msg ficheiro, depois pode-se retirar
                      DoCmd.TransferText acImportDelim, "INFORMATIVO BASE TOTAL", "BASE TOTAL", fso.BuildPath(fld.Path, FileName), False, ""
             FileName = Dir()  ' Get next file
             DoEvents
          Wend

             MsgBox ("Importados  " & nFiles & "  Arquivos(s).")
         Else
             MsgBox ("Não foram encontrados ficheiros.")
             Exit Function
         End If


    IMPORTAR_BASE_TOTAL_Exit:
       Exit Function

    IMPORTAR_BASE_TOTAL_Err:
       MsgBox Error$
       Resume IMPORTAR_BASE_TOTAL_Exit

    End Function
    ahteixeira
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

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

    Importação de vários arquivos - Extrato Bancario - CNAB 240 Empty Re: Importação de vários arquivos - Extrato Bancario - CNAB 240

    Mensagem  ahteixeira em Ter Maio 26, 2020 4:56 pm

    Olá Lucio,

    Fico feliz por ter ajudado.
    De tudo que precisa, parece que o que falta é o mover os ficheiros.
    Também deixei link de tópico na minha última mensagem.
    Continue, está no bom caminho.

    Abraço a todos

      Data/hora atual: Qui Jul 09, 2020 11:42 am