Copias de seguridad a BD que no están divididas

Tengo una aplicación que necesito hacer Copias de seguidad unicamente de las Tablas de Datos, no del resto de la BD.

He probado el ejemplo de NECKKITO que funciona perfectamente haciendo una Copia de Seguridad en el directorio que le indiquemos.

El problema que tengo es que me hace una copia total de las Tablas, Forms e Informes y lo que necesito es que me copiase unicamente las tablas, y a su vez, si es posible, poderle indicar que tablas ha de incluir en la Copia de Seguridad, ya que existen tablas que me interesaría que no fuesen copiadas.

1 respuesta

Respuesta
2

Prueba con:

DoCmd. TransferDatabase acExport, "Microsoft Access", "Ruta BD Destino", acTable, _
"nombreTablaOrigen", "nombreTablaDestino", False

Lo que te pongo en negrita es lo que tendrás que cambiar. La BD de destino debe existir previamente.

Para seleccionar las tablas, puedes crear un cuadro de lista multivalor con los nombres de todas las tablas, y exportar las seleccionadas, o crear una tabla con dos campos, uno con los nombres de las tablas y el otro una casilla de verificación. Luego marcas en esa tabla (a través de un formulario o subformulario, por ejemplo) las tablas a exportar, y con un bucle las exportas usando el transferdatabase.

También puedes usar el ejemplo de exportar mediante xml que te indicaba a la mañana.

Me he inclinado por este segunda opción y he pobado en crear solo una tabla en la Copia antes de realizar una Copia General de todas las tablas.

He creado una carpeta en el escritorio para realizar la Copia a través de esta instrucción:

DoCmd.TransferDatabase acExport, "Microsoft Access", "C:\Users\PePe\Desktop\TABLAS ", acTable, _
"AGENDADIATAREAS", "AGENDADIATAREAS", False

Y estoy teniendo este error al realizar la copia:

¿Tienes la BD de destino abierta o la tienes protegida con contraseña?

He creado un botón dentro de la BD para realizar las Copias de Seguridad. ¿He de hacerlo de otra forma?

El código (y el botón) tienes que ponerlo en la BD en que tienes la tabla a exportar, es decir, la tabla original. Imagino que es lo que habrás hecho.

Te he preparado un ejemplillo. Verás que uso referencias relativas a la ruta de la bd de destino, que tendrás que tener en la misma carpeta que la de origen para que funcione.

Independientemente de eso, si usas rutas absolutas te tiene que funcionar igual.

http://www.filebig.net/files/FYdgzgg8c7 

¿He de tener una BD creada en el Destino con las tablas receptoras que voy a copiar desde la BD de Origen?

¿No es posible crearse automáticamente la BD añadiéndose las tablas inexistentes en el caso de no existir sin tener que tenerlas que crearlas de forma manual añadiendo cada una de las tablas a copiarse?

Puedes crearlo previamente por código, por ejemplo como explican aquí: http://microsoft.public.es.access.narkive.com/DvUaTjQy/crear-base-de-datos-access-vacia-desde-vba

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas