Vou dar agora mais uma dica de como exportar os dados de uma tabela para um arquivo texto.
Vamos usar o método GetString do objeto Recordset ADO.
O método GetString retorna um Recordset no formato de uma string. Sua sintaxe é :
Set Variant = recordset.GetString(StringFormat, NumRows, ColumnDelimiter, RowDelimiter, NullExpr)
A string retornada é do tipo Variant (BSTR).
Os parâmetros usados são :
- StringFormat - Especifica que o Recordset deverá ser convertido para o seguinte formato:
Constante | Descrição |
adClipString | Linhas (Rows) são delimitadas pelo RowDelimiter, colunas pelo ColumnDelimiter, e valores NULL por NullExpr. |
NumRows - Determina o número de linhas no recordset a converter. Se não for informado ou se for maior que o número total de linhas do recorset todas as linhas serão convertidas.
ColumnDelimiter - Indica qual o delimitador usado entre as colunas , se não for informado o delimitador usado sera o caractere TAB.
RowDelimiter - Indica o delimitador usado entre as linhas . Se não for informado será usado o caractere CARRIAGE RETURN. (ENTER)
NullExpr - Expressão usada no lugar dos valores NULL. Se não for informado será usado uma string vazia.
Vamos a prática : Vamos exportar os registros da tabela Authors do banco de dados Biblio.mdb para o arquivo texto autores.dat . (Este arquivo será criado se não existir)
- Inicie um novo projeto no VB e no formulário padrão insira um botão de comando - command1 :
- Faça a referência a biblioteca ADO - Microsoft ActiveX Data Objects 2.X Library
- Na seção General Declarations vamos declarar a variável objeto - ConAuthors
Public ConAuthors As ADODB.Connection |
- Vamos agora criar as funções Conecta_BD e Desconecta_BD para criar/encerrar a conexão com o banco de dados:
Public Sub Conecta_BD() Set ConAuthors = New ADODB.Connection With ConAuthors .Provider = "Microsoft.Jet.OLEDB.4.0" .ConnectionString = "Data Source=c:\teste\Biblio.mdb" .Open End With End Sub |
Public Sub Desconecta_BD() ConAuthors.Close Set ConAuthors = Nothing End Sub |
- No evento Load do formulário vamos invocar a função Conecta_BD para criar a conexão com banco de dados:
Private Sub Form_Load() Conecta_BD End Sub |
- Agora no evento Click do botão de comando - command1 - vamos inserir o código que faz que usa o método GetString :
Private Sub Command1_Click() Dim rs As New ADODB.Recordset On Error GoTo trata_erro rs.Open "Select * from Authors", ConAuthors, adOpenForwardOnly, adLockReadOnly, adCmdText Open "c:\teste\autores.dat" For Output As #1 Do Until rs.EOF Print #1, rs.GetString(, 100, vbTab, vbCrLf, ""); Loop MsgBox "Arquivo texto - autores.dat - gerado com sucesso !!" Desconecta_BD Exit Sub trata_erro: MsgBox Err.Description End Sub |
Após executar o projeto , verifique o arquivo autores.dat e veja o resultado: (Estou mostrando somente uma parte do arquivo) |
Obs: Um recordset com muitas linhas irá gerar strings muito grande e irá afetar o desempenho da sua aplicação.
Você pode fazer muitas variações no código. Fique a vontade...
Até a próxima... Bye...
Veja os
Destaques e novidades do SUPER DVD Visual Basic (sempre atualizado) : clique
e confira !
Quer migrar para o VB .NET ?
Quer aprender C# ??
Quer aprender os conceitos da Programação Orientada a objetos ? Quer aprender o gerar relatórios com o ReportViewer no VS 2013 ? Quer aprender a criar aplicações Web Dinâmicas usando a ASP .NET MVC 5 ? |
Gostou ? Compartilhe no Facebook Compartilhe no Twitter
Referências: