none
VB - Exportar TXT RRS feed

  • Pergunta

  • Pessoal,

    Gostaria de exportar em txt, tenho um código bem simples, mas ele deixa preestabelecido um tab entre as colunas, gostaria que ficassem tudo junto em uma linha.

    Dim Conexao As New ADODB.Connection
    Dim rst As New ADODB.RecordSet
    Dim SQL As String
    Dim fso As New Scripting.FileSystemObject
    Dim txtFile As Scripting.TextStream
       
    On Error GoTo trata_erro
        
    'cria conexão
    With Conexao
          .ConnectionString = "OK"
          .Open
    End With
        
    SQL = "OK"
       
        'ativa a consulta e escreve o resultado em um arquivo texto delimitidado
        rst.Open SQL, Conexao
       
        'cria arquivo texto
        Set txtFile = fso.CreateTextFile("C:\teste\arqTexto.txt", True)
        
       'escreve e utiliza o separador ( | ) entre os campos
        txtFile.Write (rst.GetString(adClipString, , "|", vbCrLf, ""))

    Qual é a melhor sugestão? quem monta é o rst.GetString()

    segunda-feira, 31 de janeiro de 2011 18:41

Respostas

  • Ah sim, nesse caso você coloca: rst.GetString(adClipString, ,vbNullString, vbCrLf, )

    Att.


    Lucas
    terça-feira, 1 de fevereiro de 2011 11:59
  • É verdade mesmo :)

    Acho que então só com um Replace para contornar isso então:

    Replace(rst.GetString(adClipString, , vbTab, vbNewLine, vbNullString), vbTab, vbNullString

     


    Lucas
    terça-feira, 1 de fevereiro de 2011 15:26

Todas as Respostas

  • Olá, qual é realmente a dúvida? você pergunta qual a melhor sugestão em utilizar o caracter "|" ou vbTab para separar as colunas no arquivo de texto? Se for essa a dúvida então eu faria com vbTab, pois se você separar os valores com "|", vais ter que garantir que nenhum dos registros tenha um desses caracter fazendo parte do valor, isso quebraria a sua regra de separação das colunas.

    Att.


    Lucas
    • Sugerido como Resposta Rodrigo Sória terça-feira, 1 de fevereiro de 2011 06:06
    segunda-feira, 31 de janeiro de 2011 22:39
  • Acho que não fui claro mesmo...

    É o seguinte: quando eu uso o rst.GetString(), ele tem como padrão colocar espaço(tab) entre as colunas geradas,

    Por exemplo

    rst.GetString(adClipString, , , vbCrLf, )    fica teste teste teste

    Quando eu uso

    rst.GetString(adClipString, ,"|", vbCrLf, ) fica teste|teste|teste

    Gostaria que ficasse      testetesteteste    tudo junto.

    terça-feira, 1 de fevereiro de 2011 11:54
  • Ah sim, nesse caso você coloca: rst.GetString(adClipString, ,vbNullString, vbCrLf, )

    Att.


    Lucas
    terça-feira, 1 de fevereiro de 2011 11:59
  • Valew pela resposta, mas continua dando um tab.....

     

    Tem alguma outra opção...?

     

    Desde já, Agradeço.

    terça-feira, 1 de fevereiro de 2011 13:57
  • É verdade mesmo :)

    Acho que então só com um Replace para contornar isso então:

    Replace(rst.GetString(adClipString, , vbTab, vbNewLine, vbNullString), vbTab, vbNullString

     


    Lucas
    terça-feira, 1 de fevereiro de 2011 15:26
  • Funcionou...

    Valew mesmo.....obrigado.

    txtFile.Write (Replace(rst.GetString(adClipString, , vbTab, vbNewLine, vbNullString), vbTab, vbNullString))

     

     

    terça-feira, 1 de fevereiro de 2011 15:45