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
|
|
|
|
|
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.
|
|
|
|