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

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Trabalhar com Arquivo TXT c/ separador "|"
dededovalle
FRANCO DA ROCHA
SP - BRASIL
ENUNCIADA !
Postada em 01/12/2004 12:59 hs            
Pessoal,
 
Preciso importar um arquivo texto para um banco de dados só que o caracter delimitador dele é o "|".
Se eu tento abrir ele como se fosse um recordset, joga todos os registros em um campo só.
 
Qual a melhor forma de ler estes dados?
 
Ex: 01|12542121|1254244133|ANDRE|1745|25/08/2004|05:00:00|00:00:15
 
Desde já agradeço a atenção!!!
No aguardo URGENTE!!!!!
 
André
 
   
ghost_jlp
Pontos: 2843 Pontos: 2843 Pontos: 2843 Pontos: 2843
SÃO PAULO
SP - BRASIL
ENUNCIADA !
Postada em 01/12/2004 13:18 hs            
Vc pode importar para o access. É só criar uma nova tabela, na opção "Importação de tabela". Aí vc seleciona o arquivo texto q é a sua base de dados. Depois q vc clicou em no botão "Importar" vc escolhe a opção "Delimitado". Clique em avançar e no frame "Escolha delimitador que separa os seus campos" escolha a opção "outros" e  coloque o símbolo "|". Depois vc escolhe se será uma nova tabela ou se vai querer inserir estes dados em uma tabela já existente... clicando em avançar vc escolhe o nome do campo e etc. Isso serve para vinculação de tabela também caso vc deseje q a sua tabela em access fique vinculada a qq arquivo texto.
 
Deste modo vc pode trabalhar normalmente com ADO acessando um arquivo do access. É uma idéia...
 
qq coisa é só postar novamente
 
t+
   
Martini
Pontos: 2843 Pontos: 2843
PAROBÉ
RS - BRASIL
ENUNCIADA !
Postada em 01/12/2004 13:35 hs         

Private Sub Command1_Click()
  Dim varAbc As Variant 'Aramazena linha lida do arquivo texto
  Open "C:Teste.txt" For Input As #1
  Do While Not EOF(1)
    Line Input #1, varAbc
    subInsere varAbc
  Loop
  Close #1
End Sub

Private Sub subInsere(varAbc As Variant)
  Dim varNovaAbc As Variant 'Valores a serem inseridos, inicia com a linha lida depois vai sendo retirado os valores insridos
  Dim intPosicao As Integer 'Posição no caracter (limitador) na string
  varNovaAbc = varAbc
  intPosicao = InStr(1, varNovaAbc, "|")
  'Verifica se encontrou o limitador
  If intPosicao <> 0 Then
    'Faça enquanto tiver cacarter na string
    Do While Len(varNovaAbc) > 0
        'Insere na tabela
        vgdb.execute "Insert Into Tabela (Campo) Values ('" & Mid(varNovaAbc, 1, intPosicao - 1) & "')"
       
        varNovaAbc = Mid(varNovaAbc, intPosicao + 1) 'Retira valor inserido da string
        intPosicao = InStr(1, varNovaAbc, "|") 'pega nova posição do limitador
        
        'se não encontrou o limitador e ainda tem caracter na string,
        'então é o último elemento, insere e sai foi do laço
        If (intPosicao = 0) And (Len(varNovaAbc) > 0) Then
          vgdb.execute "Insert Into Tabela (Campo) Values ('" & varNovaAbc & "')"
          varNovaAbc = ""
          Exit Do
        End If

    Loop
  'se não encontrou o limitador, mas tem caracter na string, insere o elemento
  ElseIf (Len(varNovaAbc) > 0) Then
    vgdb.execute "Insert Into Tabela (Campo) Values ('" & varNovaAbc & "')"
    varNovaAbc = ""
  End If
End Sub

 
   
Página(s): 1/1    

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