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


4 participantes

    [Resolvido]ler arquivo em txt (extrato da caixa)

    avatar
    Francisco sousa
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Anónimo
    Mensagens : 9
    Registrado : 15/03/2011

    [Resolvido]ler arquivo em txt (extrato da caixa) Empty [Resolvido]ler arquivo em txt (extrato da caixa)

    Mensagem  Francisco sousa 15/3/2011, 12:18

    Bom dia sou novo aqui... e estou terminando o curso de access 2010.
    estou usando esta versão.
    estou tentando fazer um banco de dados pra ler os arquivos em txt baixados do site da caixa econômica federal...
    > Conteúdo do arquivo:
    "Conta";"Data_Mov";"Nr_Doc";"Historico";"Valor";"Deb_Cred"
    "1607013000123456";"20110301";"000000";"REM BASICA";"0.00";"C"
    "1607013000123456";"20110301";"000000";"CRED JUROS";"0.04";"C"
    "1607013000123456";"20110304";"041545";"DEP D LOT";"444.61";"C"
    obs. os dados ficam tudo em uma linha somente
    > o arquivo está salvo assim: extrato_março.txt
    obs. os números da conta e valores foram modificados por questão de segurança.
    > na minha tabela tem os campos:
    Conta
    Data_Mov
    Nr_Doc
    Historico
    Valor
    Deb_Cred
    > todos os campos estão em formato de texto.
    algum de vocês tem um código para importar do txt para a minha tabela?
    obs. tentei com uma macro mas dá erro. não importa os dados corretamente.




    chsestrem
    chsestrem
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 463
    Registrado : 01/03/2010

    [Resolvido]ler arquivo em txt (extrato da caixa) Empty Re: [Resolvido]ler arquivo em txt (extrato da caixa)

    Mensagem  chsestrem 15/3/2011, 12:48

    Você pode importar este txt usando o assitente de importação do Access.

    Procure aqui no Forum por especificação de importação

    Sds,


    .................................................................................
    Charles Sestrem
    http://www.vbabit.com.br
    avatar
    Francisco sousa
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Anónimo
    Mensagens : 9
    Registrado : 15/03/2011

    [Resolvido]ler arquivo em txt (extrato da caixa) Empty Re: [Resolvido]ler arquivo em txt (extrato da caixa)

    Mensagem  Francisco sousa 15/3/2011, 13:14

    Obrigado pela resposta rápida, mas eu preciso de um código para automatizar essa importação.
    OsmarJr
    OsmarJr
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 42
    Registrado : 20/10/2010

    [Resolvido]ler arquivo em txt (extrato da caixa) Empty Re: [Resolvido]ler arquivo em txt (extrato da caixa)

    Mensagem  OsmarJr 15/3/2011, 14:23

    Dê uma olhada aqui: Importando Arquivos Texto.


    .................................................................................
    affraid Diferença entre mulher na TPM e pitbull com raiva: O BATOM (hoje apanho em casa)... affraid
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]ler arquivo em txt (extrato da caixa) Empty Re: [Resolvido]ler arquivo em txt (extrato da caixa)

    Mensagem  criquio 15/3/2011, 15:19

    Grande Osmar, é um belo exemplo. Prabens!


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    avatar
    Francisco sousa
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Anónimo
    Mensagens : 9
    Registrado : 15/03/2011

    [Resolvido]ler arquivo em txt (extrato da caixa) Empty Re: [Resolvido]ler arquivo em txt (extrato da caixa)

    Mensagem  Francisco sousa 15/3/2011, 16:27

    Obrigado a todos, vou estudar os códigos tentar implantar, de volto para dar o resultado.
    avatar
    Francisco sousa
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Anónimo
    Mensagens : 9
    Registrado : 15/03/2011

    [Resolvido]ler arquivo em txt (extrato da caixa) Empty Re: [Resolvido]ler arquivo em txt (extrato da caixa)

    Mensagem  Francisco sousa 16/3/2011, 12:21

    Me desculpem, mas não consegui!

    Private Sub cmd_Importar_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(txtNomeArq & vbNullString) = 0 Then
    MsgBox "Informe o nome do arquivo a ser importado", vbExclamation + vbOKOnly, "Vazio"
    txtNomeArq.SetFocus
    Exit Sub
    End If
    If Len(Dir(Me.txtNomeArq)) = 0 Then
    MsgBox "O arquivo não existe!!!", vbCritical + vbOKOnly, "Erro"
    Me.txtNomeArq.SetFocus
    Exit Sub
    End If
    Open Me.txtNomeArq For Input As #1
    Set db = CurrentDb
    Set rs = db.OpenRecordset("tblMovimento")
    While Not EOF(1)
    Line Input #1, Linha
    If Left$(Linha, 1) = "1" Then
    With rs
    .AddNew
    ![Conta] = Mid$(Linha, 1, 16)
    ![Data_Mov] = Mid$(Linha, 1, 8 )
    ![Nr_Doc] = Mid$(Linha, 1, 6)
    ![Historico] = Mid$(Linha, 1, 10)
    ![Valor] = Mid$(Linha, 1, 9)
    ![Deb_Cred] = Mid$(Linha, 1, 1)
    .Update
    End With
    Else
    With rs
    .AddNew
    ![Conta] = Mid$(Linha, 1, 16)
    ![Data_Mov] = Mid$(Linha, 1, 8 )
    ![Nr_Doc] = Mid$(Linha, 1, 6)
    ![Historico] = Mid$(Linha, 1, 10)
    ![Valor] = Mid$(Linha, 1, 9)
    ![Deb_Cred] = Mid$(Linha, 1, 1)
    .Update
    End With
    End If
    Wend
    saida:
    Close
    Set rs = Nothing
    Set db = Nothing
    Exit Sub
    trataerro:
    MsgBox Err.Description, vbExclamation + vbOKOnly, "Erro: " & CStr(Err.Number)
    #If desev Then
    Stop
    Resume
    #End If
    Resume saida

    End Sub

    O resultado foi:

    Image Hosted by ImageShack.us
    By francisco_sousa at 2011-03-16

    obrigado pela atenção.

    avatar
    Francisco sousa
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Anónimo
    Mensagens : 9
    Registrado : 15/03/2011

    [Resolvido]ler arquivo em txt (extrato da caixa) Empty Re: [Resolvido]ler arquivo em txt (extrato da caixa)

    Mensagem  Francisco sousa 17/3/2011, 10:46

    Observei que tem um quadradinho (caractere da tecla enter)no final de cada registro no arquivo de texto.
    eu estou ficando maluco com esse código, porém estou precisando muito dele.
    OsmarJr
    OsmarJr
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 42
    Registrado : 20/10/2010

    [Resolvido]ler arquivo em txt (extrato da caixa) Empty Re: [Resolvido]ler arquivo em txt (extrato da caixa)

    Mensagem  OsmarJr 17/3/2011, 13:32

    Depois da linha Line Input #1, Linha
    insira mais uma linha:
    Linha=Left(Linha, 1, Len(Linha) - 1)
    Vai copiar na variável Linha todos os caracteres menos o último.


    .................................................................................
    affraid Diferença entre mulher na TPM e pitbull com raiva: O BATOM (hoje apanho em casa)... affraid
    avatar
    Francisco sousa
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Anónimo
    Mensagens : 9
    Registrado : 15/03/2011

    [Resolvido]ler arquivo em txt (extrato da caixa) Empty Re: [Resolvido]ler arquivo em txt (extrato da caixa)

    Mensagem  Francisco sousa 17/3/2011, 15:58

    Osmar, o que pode estar acontecendo, ele não importa todos os registros do arquivo txt somente o cabeçalho como na figur a a cima? como eu faço pra resolver?
    avatar
    Francisco sousa
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Anónimo
    Mensagens : 9
    Registrado : 15/03/2011

    [Resolvido]ler arquivo em txt (extrato da caixa) Empty Re: [Resolvido]ler arquivo em txt (extrato da caixa)

    Mensagem  Francisco sousa 18/3/2011, 10:48

    Não consigo fazer a importação de todos os dados somente o cabeçalho como indica a imagem acima ... como será que resolvo isso???
    chsestrem
    chsestrem
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 463
    Registrado : 01/03/2010

    [Resolvido]ler arquivo em txt (extrato da caixa) Empty Re: [Resolvido]ler arquivo em txt (extrato da caixa)

    Mensagem  chsestrem 18/3/2011, 11:44

    Não testei aqui, troquei o laço

    não custa tentar:

    Código:

    Private Sub cmd_Importar_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(txtNomeArq & vbNullString) = 0 Then
    MsgBox "Informe o nome do arquivo a ser importado", vbExclamation + vbOKOnly, "Vazio"
    txtNomeArq.SetFocus
    Exit Sub
    End If
    If Len(Dir(Me.txtNomeArq)) = 0 Then
    MsgBox "O arquivo não existe!!!", vbCritical + vbOKOnly, "Erro"
    Me.txtNomeArq.SetFocus
    Exit Sub
    End If
    Open Me.txtNomeArq For Input As #1
    Set db = CurrentDb
    Set rs = db.OpenRecordset("tblMovimento")
    Do While Not EOF(1)
    Line Input #1, Linha
    If Left$(Linha, 1) = "1" Then
    With rs
    .AddNew
    ![Conta] = Mid$(Linha, 1, 16)
    ![Data_Mov] = Mid$(Linha, 1, 8)
    ![Nr_Doc] = Mid$(Linha, 1, 6)
    ![Historico] = Mid$(Linha, 1, 10)
    ![Valor] = Mid$(Linha, 1, 9)
    ![Deb_Cred] = Mid$(Linha, 1, 1)
    .Update
    End With
    Else
    With rs
    .AddNew
    ![Conta] = Mid$(Linha, 1, 16)
    ![Data_Mov] = Mid$(Linha, 1, 8)
    ![Nr_Doc] = Mid$(Linha, 1, 6)
    ![Historico] = Mid$(Linha, 1, 10)
    ![Valor] = Mid$(Linha, 1, 9)
    ![Deb_Cred] = Mid$(Linha, 1, 1)
    .Update
    End With
    End If
    Loop
    saida:
    Close
    Set rs = Nothing
    Set db = Nothing
    Exit Sub
    trataerro:
    MsgBox Err.Description, vbExclamation + vbOKOnly, "Erro: " & CStr(Err.Number)
    #If desev Then
    Stop
    Resume
    #End If
    Resume saida
    End sub

    Sds,


    .................................................................................
    Charles Sestrem
    http://www.vbabit.com.br

    Conteúdo patrocinado


    [Resolvido]ler arquivo em txt (extrato da caixa) Empty Re: [Resolvido]ler arquivo em txt (extrato da caixa)

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 21/11/2024, 21:58