Como cargar XML a tabla especifica de Access con VBA?

Tengo un XML como este...

 <?xml version="1.0" encoding="UTF-8" ?>

- <dataroot xmlns:od="urn:schemas-microsoft-com:officedata" generated="2015-05-04T10:17:36">

- <db_discursos>

 <Id>1</Id>

 <Titulo>¿Conoce usted bien a Dios?</Titulo>

 <Tomar_x0020_en_x0020_cuenta>1</Tomar_x0020_en_x0020_cuenta>

 <Tema_x0020__x0028_S-99a-S_x0029_>4</Tema_x0020__x0028_S-99a-S_x0029_>

 <Bosquejo_x0020_con_x0020_prioridad>0</Bosquejo_x0020_con_x0020_prioridad>

  </db_discursos>

- <db_discursos>

 <Id>2</Id>

 <Titulo>¿Será usted sobreviviente de los últimos días?</Titulo>

 <Tomar_x0020_en_x0020_cuenta>1</Tomar_x0020_en_x0020_cuenta>

 <Tema_x0020__x0028_S-99a-S_x0029_>10</Tema_x0020__x0028_S-99a-S_x0029_>

 <Bosquejo_x0020_con_x0020_prioridad>0</Bosquejo_x0020_con_x0020_prioridad>

  </db_discursos>

- <db_discursos>

Como notaran, se llama "db_discursos", y tiene los campos: "Id", "Titulo", "Tomar en cuenta", "Tema S-99a-S" y "Bosquejo con prioridad". Y tiene unos 200 registros con el mismo estilo.

Lo que ocupo es poder cargar este XML en la tabla de Access "db_discursos", no en una nueva, reemplesando toda la informacion que ya tiene la tabla con lo nuevo que tendria el XML.

E intentado usar este codigo...

DoCmd.TransferText acImportDelim, , "db_discursos", _
    "C:\Respaldo Control Discursos\db_discursos.xml", True

Pero lamentablemente no tengo exito. La dirreccion que tiene para jalarlo de C:/ es solo temporal, una vez me carge, lo hare para que el usuario pueda escojer de donde cargar el XML. Pero primero lo primero, que carge el XML.

Si alguien me puede ayudar le agradeceria montones.

1

1 Respuesta

273.015 pts. Access... ser o no ser. Esa es la cuestión

Prueba con este código (mejor en una copia de tu BD original):

...

Dim archivoXml As String
archivoXml = "C:\db_discursos.xml"
'Borramos los datos de la tabla
CurrentDb. Execute ("DELETE FROM db_discursos")
'Anexamos los datos del xml
Application. ImportXML archivoXml, acAppendData
MsgBox "Hecho" 'Para avisar de que el proceso ha concluido

...

A ver si así te funciona.

Amigo, he visto tu página y he descargado varios de tus tutoriales. Eres un genio en Access.

El código que me pasaste funciona de maravilla. Un millón de gracias. Solo me da un error, pero no es por el código, es que uno de los XML que genero tiene un imagen, pensé que tal vez si podría luego importarse, pero ya vi que no.

Pero eso es lo de menos.

¡Gracias!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas