Access - Extraer en un XML datos de tablas

 
Vista:

Extraer en un XML datos de tablas

Publicado por David (1 intervención) el 02/06/2006 12:47:41
Hola:

Tengo una pequeña base de datos access, con unas tablas .

Lo que quiero es, tomar un par de campos de una tabla, y exportarlos a un fichero .xml

Por ejemplo, tengo la tabla "ARTICULO" con dos columnas: "REFERENCIA" y "DESCRIPCION", y quiero sacar un fichero asi:

<articulos>
<articulo>
<referencia> XXX </referencia>
<descripcion> XXXXXX </descripcion>
</articulo>
<articulo>
<referencia> YYY </referencia>
<descripcion> YYYYYY </descripcion>
</articulo>
...(etc)
</articulos>

¿Sabeis si es posible hacer esto desde Access? Muchas gracias de antemano.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Exportar datos a un archivo XML desde Access

Publicado por Alejandro (4142 intervenciones) el 19/07/2023 17:33:37
Sí, David, es posible exportar datos a un archivo XML desde Access utilizando VBA (Visual Basic for Applications). Aquí tienes los pasos para lograrlo:

1. Abre Access y ve al modo de diseño de un formulario, informe o módulo de VBA donde desees ejecutar el código para exportar los datos.

2. Agrega un botón o cualquier otro control que desees utilizar para iniciar la exportación.

3. Asigna el siguiente código VBA al evento "Al hacer clic" del botón o control:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
Private Sub btnExportarXML_Click()
    Dim db As DAO.Database
    Dim rs As DAO.Recordset
    Dim xmlFile As Object
 
    ' Ruta y nombre del archivo XML de salida
    Dim outputFile As String
    outputFile = "ruta\archivo.xml"
 
    ' Crear un objeto de archivo XML
    Set xmlFile = CreateObject("Microsoft.XMLDOM")
 
    ' Crear el documento XML y el nodo raíz
    xmlFile.appendChild xmlFile.createProcessingInstruction("xml", "version='1.0' encoding='UTF-8'")
    Dim rootNode As Object
    Set rootNode = xmlFile.createElement("articulos")
    xmlFile.appendChild rootNode
 
    ' Abrir la tabla o consulta que contiene los datos a exportar
    Set db = CurrentDb
    Set rs = db.OpenRecordset("SELECT REFERENCIA, DESCRIPCION FROM ARTICULO")
 
    ' Recorrer los registros y crear los nodos para cada artículo
    While Not rs.EOF
        Dim articuloNode As Object
        Set articuloNode = xmlFile.createElement("articulo")
 
        Dim referenciaNode As Object
        Set referenciaNode = xmlFile.createElement("referencia")
        referenciaNode.appendChild xmlFile.createTextNode(rs("REFERENCIA"))
        articuloNode.appendChild referenciaNode
 
        Dim descripcionNode As Object
        Set descripcionNode = xmlFile.createElement("descripcion")
        descripcionNode.appendChild xmlFile.createTextNode(rs("DESCRIPCION"))
        articuloNode.appendChild descripcionNode
 
        rootNode.appendChild articuloNode
 
        rs.MoveNext
    Wend
 
    rs.Close
    Set rs = Nothing
    Set db = Nothing
 
    ' Guardar el archivo XML
    xmlFile.Save outputFile
 
    ' Liberar el objeto de archivo XML
    Set xmlFile = Nothing
 
    MsgBox "Exportación a XML completada con éxito."
End Sub

4. Asegúrate de reemplazar `"ruta\archivo.xml"` en la variable `outputFile` con la ruta y nombre del archivo XML de salida que deseas generar.

5. Personaliza la consulta SQL en `SELECT REFERENCIA, DESCRIPCION FROM ARTICULO` para que se ajuste a la tabla o consulta de tu base de datos que contiene los datos que deseas exportar.

6. Guarda y cierra el formulario, informe o módulo de VBA.

Cuando hagas clic en el botón o control asignado, se ejecutará el código VBA y exportará los datos de la tabla o consulta especificada a un archivo XML con la estructura deseada.

Es importante tener en cuenta que este código utiliza la biblioteca Microsoft XML Core Services (MSXML) para crear y guardar el archivo XML. Asegúrate de que la biblioteca MSXML esté instalada en tu sistema.

Espero que esta solución te ayude a exportar datos a un archivo XML desde Access. ¡Buena suerte!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar