Prezados,
Estou tentando desenvolver um banco de dados Access para efetuar importação de um arquivo .TXT, que possuem 4 linhas para cada registro, é um arquivo de cobrança bastante parecido com o FEBRABAN, porem com pequenas adaptações, fiz o código porem estou perdido de como fazer ele varrer tipo varrer as 4 linhas que são informações de único registro e salvando em tabela ,buscando as posições desejadas de cada linha, o código que eu fiz ate o momento varre uma linha e transporta para a tabela em uma linha, e a segunda linha ao invés dele colocar ainda na primeira linha da tabela, ele cria uma nova e assim em sequencia, se caso alguém tenha uma dica ou informações para que eu possa corrigir este erro.
Segue abaixo código.
Se encontra em anexo um exemplo do banco e do arquivo a ser importado.
Desde ja Agradeço a Todos!
Estou tentando desenvolver um banco de dados Access para efetuar importação de um arquivo .TXT, que possuem 4 linhas para cada registro, é um arquivo de cobrança bastante parecido com o FEBRABAN, porem com pequenas adaptações, fiz o código porem estou perdido de como fazer ele varrer tipo varrer as 4 linhas que são informações de único registro e salvando em tabela ,buscando as posições desejadas de cada linha, o código que eu fiz ate o momento varre uma linha e transporta para a tabela em uma linha, e a segunda linha ao invés dele colocar ainda na primeira linha da tabela, ele cria uma nova e assim em sequencia, se caso alguém tenha uma dica ou informações para que eu possa corrigir este erro.
Segue abaixo código.
- Código:
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_caminho & vbNullString) = 0 Then ' Testa se txtNomeArq contém alguma coisa
MsgBox "Informe o nome do arquivo a ser importado", vbExclamation + vbOKOnly, "Vazio"
Me.txt_caminho.SetFocus
Exit Sub
End If
If Len(Dir(Me.txt_caminho)) = 0 Then ' Testa a existência do arquivo
MsgBox "O arquivo não existe!!!", vbCritical + vbOKOnly, "Erro"
Me.txt_caminho.SetFocus
Exit Sub
End If
Open Me.txt_caminho For Input As #1 ' Abre o arquivo a ser importado
If MsgBox("Deseja importar a lista de Arquivo?", vbQuestion + vbYesNo, "Sistema!") = vbYes Then
'Limpa a tabela informada (tbl_remessa)
DoCmd.SetWarnings (False)
SQL = "DELETE * FROM tbl_remessa"
DoCmd.RunSQL SQL
Set DB = CurrentDb
Set RS = DB.OpenRecordset("tbl_remessa")
While Not EOF(1)
Line Input #1, Linha ' Lê uma linha do arquivo texto
If Left$(Linha, 1) = "0" Then
With RS
.AddNew
!sequencia_1 = Mid$(Linha, 1, 7) 'Inicia-se a 1º Linha
!tipo_registro_1 = Mid$(Linha, 8, 2)
!matricula = Mid$(Linha, 10, 20)
!nome = Mid$(Linha, 30, 70)
!cpf = Mid$(Linha, 100, 11) 'Termina 1º Linha
!chave_origem_2 = Mid$(Linha, 111, 10) 'Inicia-se a 2º Linha
!chave_origem_rotina = Mid$(Linha, 121, 10)
!contrato = Mid$(Linha, 131, 50)
!sequecia_2 = Mid$(Linha, 1, 7)
!tipo_registro_2 = Mid$(Linha, 8, 2)
!logradouro = Mid$(Linha, 10, 50)
!complemento = Mid$(Linha, 60, 15)
!numero = Mid$(Linha, 75, 5)
!bairro = Mid$(Linha, 80, 30)
!cep = Mid$(Linha, 110, 8)
!municipio = Mid$(Linha, 118, 30)
!uf = Mid$(Linha, 148, 2) 'Termina 2º Linha
!sequencia_3 = Mid$(Linha, 1, 7) 'Inicia-se a 3º Linha
!tipo_registro_3 = Mid$(Linha, 8, 2)
!numero_fatura = Mid$(Linha, 10, 10)
!data_vencimento_3 = Mid$(Linha, 20, 10)
!valor_fatura = Mid$(Linha, 30, 15)
!chave_origem_3 = Mid$(Linha, 45, 10) 'Termina 3º Linh
!sequencia_4 = Mid$(Linha, 1, 7) 'Inicia-se a 4º Linha
!tipo_registro_4 = Mid$(Linha, 8, 2)
!data_vencimento_4 = Mid$(Linha, 10, 10)
!valor_boleto = Mid$(Linha, 20, 15)
!linha_digitavel = Mid$(Linha, 35, 60)
!competencia = Mid$(Linha, 95, 7) 'Termina 4º Linha
.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
Se encontra em anexo um exemplo do banco e do arquivo a ser importado.
Desde ja Agradeço a Todos!
- Anexos
- Importando.zip
- Você não tem permissão para fazer download dos arquivos anexados.
- (79 Kb) Baixado 20 vez(es)