USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Importação de arquivo txt
Henrique Ribas
não registrado
Postada em 14/09/2004 14:22 hs   
Caros amigos,
 
Estou criando um arquivo txt usando o seguinte codigo:
 
Open "Arquivo.txt" For Output As #1
 
Print #1, tabela("codigo")
Print #1, tabela("nome")
Print #1, tabela("endereco");
 
Close #1
 
Os campos são tirados de uma tabela e não estão separados por ponto e virgula(;).
Como fazer para importar os campos que estão neste arquivo. Ou seja, fazer o caminho inverso.
 
Agradeço desde já
 
Henrique Ribas
     
DennysFelix
SÃO PAULO
SP - BRASIL
Postada em 14/09/2004 15:17 hs            
É necessário usar a função Mid, Left e Right para separar os campos durante a leitura do arquivo texto, lembrando que você deverá informar o tamanho dos campos do Arquivo Texto. Segue abaixo, um exemplo:
 
Private Sub ImportaArquivoTexto()
On Error GoTo Trataerro
Dim db As Database
Dim NovoTabela As TableDef
Dim rst As Recordset
Dim campo1 As Field
Dim campo2 As Field
Dim campoN As Field
Dim i As Integer
Dim Linha As String
    Set db = OpenDatabase("C:CaminhoBancoDeDados.mdb")
        Set NovoTabela = db.CreateTableDef("Teste1")
            Set campo1 = NovoTabela.CreateField("Cod", dbInteger)
            Set campo2 = NovoTabela.CreateField("Nome", dbText, 18)
            Set campoN = NovoTabela.CreateField("CampoX", dbText, 30)
NovoTabela.Fields.Append campo1
NovoTabela.Fields.Append campo2
NovoTabela.Fields.Append campoN
db.TableDefs.Append NovoTabela
i = FreeFile
Set rst = db.OpenRecordset("Teste1")
Open "C:CaminhoTabelaTeste.txt" For Input As i
    Line Input #i, Linha
Do While Not EOF(i)
        rst.AddNew
            rst!Cod = Left(Linha, 4)
            rst!Nome = Trim(Mid(Linha, 5, 18))
            rst!CampoX = Trim(Mid(Linha, 23))
        rst.Update
        Line Input #i, Linha
Loop
Exit Sub
Trataerro:
    If Err = 3010 Then
        db.TableDefs.Delete "Teste1"
        Resume
    Else
        MsgBox Err
    End If
End Sub
     
Henrique Ribas
não registrado
Postada em 16/09/2004 09:10 hs   
Valeu Dennys! Foi muito útil.
 
     
Página(s): 1/1    

CyberWEB Network Ltda.    © Copyright 2000-2025   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página