Querendo gerar arquivos
XML com ADO ??
Para você gerar um arquivo no formato XML ( não sabe nem o que isto ? Leia o artigo : XML - eXtensible Markup Language - Introdução ).
Vamos gerar um arquivo XML a partir de uma tabela chamada alunos , de onde iremos exibir: o código, nome e nota de cada aluno . O banco de dados está localizado em c:\teste com o nome de escola.mdb. Agora siga o roteiro :
1-) Inicie um novo projeto no Visual Basic e no formulário padrão insira : três botões de comando , duas caixas de texto e duas labels como a figura abaixo:

2-) No evento click do botão de comando - Gera Arquivo XML - insira o seguinte código:
| Private
Sub cmdGeraArquivoXML_Click() Dim aConn As ADODB.Connection Dim aRS As ADODB.Recordset ' cria uma conexão ADO Set aConn = New ADODB.Connection aConn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Text1.Text ' cria um recordset ADO Set aRS = New ADODB.Recordset aRS.Open "SELECT codigo , nome , nota FROM Alunos Order by Codigo", aConn ' chama a rotina para gerar o arquivo XML Call GeraArquivoXML(aRS, "Aluno") ' fecha e libera memoria usada aRS.Close Set aRS = Nothing ' fecha e limpa conexao aConn.Close Set aConn = Nothing MsgBox "O arquivo XML 'saida.xml' foi criado em " & Text2.Text, vbInformation, "Gerando arquivos XML" End Sub |
3-) A função que faz o serviço - GeraArquivoXML - tem o seguinte código: (Insira-a no formulário padrão)
| Public
Sub GeraArquivoXML(ByVal RS As ADODB.Recordset, Optional
ByVal RecordName As String = "item") Dim F As Integer Dim oField As ADODB.Field ' pega um identificador livre par ao arquivo e abre para gravacao F = FreeFile Open Text2.Text & "\saida.xml" For Output As #F ' o inicio de um arquivo XML possui o plural dos registros do arquivo. Print #F, "<" & RecordName & "s> " ' percorre um laço por cada registro ate o fim do arquivo While Not RS.EOF ' escreve uma tab XML para indicar que estamos no comeco de um novo registro Print #F, " <" & RecordName & ">" ' Percorre cada campo no recordset e grava o nome do campo , o valor e fecha a tag For Each oField In RS.Fields Print #F, " <" & oField.Name & ">" & oField.Value & "</" & oField.Name & ">" Next ' fecha a tag para este registro Print #F, " </" & RecordName & ">" ' vai para o proximo registro RS.MoveNext Wend ' encerra o arquivo xlm Print #F, "</" & RecordName & "s> " ' fecha o arquivo Close #F End Sub |
Será gerado o arquivo saida.xml no diretório informado em text2.txt. Para ver o resultado apenas clique no arquivo saída e seu Navegador irá exibir o conteúdo do arquivo XML. Veja abaixo:

Gostou até mais ...!!! ![]()