Está en la página 1de 3

Ado - Exportar un Recordset a un archivo XML

Función que permite exportar el contenido de un recordset a un archivo


XML haciendo uso de la referencia a Microsoft XML (Objeto
DOMDocument)

Para el ejemplo se necesita incluir la referencia a Microsoft XML y la referencia a ADO

Para generar el archivo XML con el contenido del recordset, pasar a la función en el
primer parámetro el path de la base de datos, en el segundo la ruta del fichero XML y
el último parámetro indicar la consulta SQL para el Recordset.

También agregar un Command1.

Código fuente en el formulario:

Texto planoImprimir

1. Option Explicit  
2.   
3. '**************************************************************************
*  
4. '*  Referencias : Incluir Microsoft Activex Data Objects (ADO) _  
5.                   y Microsoft XML  
6. '**************************************************************************
*  
7.   
8. Private Sub Command1_Click()  
9.   
10. Dim Base As String  
11. Dim Ruta_XML As String  
12. Dim Ret As Boolean  
13.   
14. Base = "C:\Archivos de programa\Microsoft Visual Studio\VB98\Biblio.MDB"  
15. Ruta_XML = App.Path & "\archivo.xml"  
16.   
17. ' Le pasa a la función el path de la base de datos, el path del _  
18.     archivo xml y la consulta sql  
19.       
20. Ret = Recordset_a_Xml(Base, Ruta_XML, "SELECT * FROM Authors")  
21.   
22. 'Si devuelve verdadero lo generó correctamente  
23. If Ret Then  
24.    MsgBox " Archivo XMl generado en: " & Ruta_XML, vbInformation  
25. End If  
26.      
27. End Sub  
28.   
29.   
30.   
31. Function Recordset_a_Xml(Path_BD As String, _  
32.                          Path_XML As String, _  
33.                          SQL As String) As Boolean  
34.   
35. On Error GoTo errSub  
36.   
37. 'Variables para la conexión ado, el recordset _  
38.  y el objeto para generar el xml  
39. Dim obj_DOMDocument As DOMDocument  
40. Dim cn As ADODB.Connection  
41. Dim rst As ADODB.Recordset  
42.   
43.     ' Nueva conexión ADO  
44.     Set cn = New ADODB.Connection  
45.       
46.     cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _  
47.                             "Persist Security Info=False;" & _  
48.                             "Data Source=" & Path_BD  
49.       
50.     'Abre la base de datos  
51.     cn.Open  
52.   
53.     ' Llena el recordset  
54.     Set rst = cn.Execute(SQL)  
55.   
56.     ' Graba el contenido del Recordset en el Obj DOMDocument.  
57.     Set obj_DOMDocument = New DOMDocument  
58.     rst.Save obj_DOMDocument, adPersistXML  
59.       
60.     'Cierra el recordset y la conexión a la base de datos  
61.     rst.Close  
62.     cn.Close  
63.       
64.     ' Genera el archivo xml  
65.     obj_DOMDocument.Save Path_XML  
66.       
67.     Recordset_a_Xml = True  
68.   
69. Exit Function  
70.   
71.   
72. 'Error  
73. errSub:  
74.   
75. MsgBox "Error:" & Err.Number & vbNewLine & _  
76.        "Descripción:" & Err.Description, vbCritical  
77.          
78.        Recordset_a_Xml = False  
79.   
80. End Function  
81.   
82.   
83. Private Sub Form_Load()  
84. Command1.Caption = " Crear XML de Recordset "  
85. End Sub  

También podría gustarte