Sincronizar access sin replicas

Quería saber si hay alguna forma de sincronizar dos bases de datos idénticas con distinta indormacion pero sin haber realizado la replica antes gracias uso access 2003.
El tema es así, he realizado un programita en access gracias a la enorme ayuda de Angeles, lo tengo en una computadora en micasa y en la net, el tema es que le he cargado bastantes datos en la pc de casa y en la net le cargo los datos cuando estoy fuera, ahora quisiera unificarlos, pero al no haber realizado las replicas antes no encuentro ninguna forma, se puede o tengo que pasar o copiar manualmente todo en una base, desde ya mil gracias.
{"lat":-41.5085772974393,"lng":-62.2265625}
3

3 respuestas

Respuesta
1

Se puede hacer sin la sincronización que trae access y es muy fácil, estén o no vinculadas la tablas.. (hable de sincronizar tablas solamente), el método solo requiere de dos consultas por tabla a sincronizar una macro y la tabla de origen y la tabla sincronizada.

El método es el siguiente:

Primero en la base de datos 1 debes tener vinculadas las tablas que quieres sincronizar de la base de datos 2 luego creas una consulta de datos anexados de la tabla de la base 1 a la tabla vinculada de la base2 que incluya el id llave ( para que no duplique los resultados) luego creas una consulta de actualización par que la tabla de la base 1 actualice la vinculada de la base2, y por ultimo creas una macro que en el primer renglón contenga estableceradvertencias en el segundo abrirconsulta (la que adiciona) y el tercer renglón abrirconsulta (la que actualiza) y el cuarto renglón si lo deseas un mensaje que te diga que ya se actualizo. Guardas la macro con el nombre de Autoexec si quieres que se ejecute automáticamente cuando habrás la base de datos, si no pues cualquier nombre para ejecutarla manualmente desde un boto o código VBA y buala estas sincronizando.

Nota: si quieres que sea bidireccional debes hacer lo mismo en la otra base de datos todos los pasos cada una actualizara a la otra cuando se habrá o cuando lo hagas desde código. Este es mi correo [email protected] si quieres un ejemplo.

Respuesta
1

Independientemente de las soluciones aportadas por los otros dos compañeros, y una vez que ya tengas todos los datos en una sola BD, quizás te sería interesante plantearte utilizar algún servicio de almacenamiento en la nube, como por ejemplo Dropbox, Cubby...

Para el caso de dropbox, te registras (es gratuito), lo instalas en los dos pcs, colocas tu BD en una carpeta dentro de la carpeta de dropbox, y ya la tienes accesible en los dos pcs, y cuando hagas cambios en uno, se reflejaran en el otro.

Respuesta
Así a bote pronto, se me ocurre una forma manual y sencilla.
Vas cogiendo una a una todas las tablas que tienes en una de las BD, copias todos los registros y en la misma tabla de la otra BD, le das en "pegar datos anexados". Así con todas las tablas.
Otra cosa es que tengas datos repetidos en ambas tablas.
También lo puedes hacer por medio de "consultas de datos anexados" y también se podría hacer mediante código, pero me parece más rápida y sencilla la primera manera.
Si lo que pasa es que lo tendría que hacer bastante seguido ya que 3 veces por semana la uso en un consultorio y una vez por ahora en otro con lo cual seria bastante tedioso.
Pues o lo realizas de otra manera o lo mejor sería apoyarte en un programa externo. Yo lo hago con toda una carpeta, que traslado en un disco duro externo de un lado a otro y en cada "lado" quiero tener una carpeta actualizada. Hay muchos y variados y funcionan a la perfección.
Hacerlo con access sería "complicado". Se puede hacer, como te comente, mediante consultas de datos anexados, o mediante código, pero creo que sería más complicado y tedioso en el día a día.
Si pero inguno de los programas de sincronización sincronizan en si la base de datos, solo copian la más actual por lo que no sirve ya que las dos tienen datos distintos que necesitan ser sincronizados
Eso es lo que quería decir. Depende de tu forma de trabajar te puede servir o no, a mi me sirve a ti no.
En tu caso yo optaría por la siguiente solución (que no tiene por que ser la mejor), pero es la que se me ocurre.
Desconozco como tienes conformada la BD, ni cuantas tablas la componen, ni si tienes tablas relacionadas...
En el caso de una tabla:establecería una BD como "madre"- En ella crearía una consulta de datos anexados. Luego sólo tendría que ejecutarla cada vez que quisiera actualizar los datos con la BD secundaria. Sería interesante que establecieses claves principales, para evitar duplicados.
Hola y gracias, me podrías dar un ejemplo concreto de como hacerlo, no se mucho de consultas especiales, gracias.
Desde la BD en la que tienes la tabla de la que quieres añadir los registros a la otra BD, haz lo siguiente:
- Crea una consulta basada en esa tabla. Selecciona todos los campos, menos el ID.
- Elige en la barra de menús: Consulta/Consulta de datos anexados
- En el cuadro que te sale escoge "Otra base de datos" y pulsas en "Examinar" para escoger la BD a la que quieres transcribir los datos.
- Cómo las dos tablas tienen los mismos campos verás que en la fila en donde aparece "Anexar a" tendrás el mismo nombre del campo. Sino deberías hacerlo tu manualmente.
Luego sólo tendrás que ejecutar la consulta.
Gracias ! ¿Pero eso no me va a duplicar registros si ya están?
Ya en mi primer mensaje decía: "... Otra cosa es que tengas datos repetidos en ambas tablas"
Debes tener en la tabla (hablo en singular porque son tablas iguales), un campo que no sea el ID automático, que no permita duplicados (un DNI, un código, etc.)
<span style="white-space: pre;"> </span>Luego creas una consulta de actualización, que actualizara los datos existentes en ambas tablas. Deberas considerar de cual a cual tabla vas a actualizar. Podrías crear una en la BD1 cuando quieres actualizar esta con los datos de la BD2 y otra en BD2 para cuando quieres actualizar esta con los datos de la BD1.
<span style="white-space: pre;"> </span>Haces lo mismo con una (o dos) consultas de datos anexados.
<span style="white-space: pre;"> </span>Cuando ejecutes la de datos anexados, te saldrá un mensaje diciendote que no se han podido anexar "X" registros porque crearían valores duplicados. Pero los que son nuevos te los anexara.
<span style="white-space: pre;"> </span>En cuanto a los registros que elimines, la cosa es más complicada. Yo lo tengo resuelto, pero porque tengo acceso a las dos tablas en todo momento, que no es tu caso. Tendrías que crear otra tabla donde se fuesen guardando los id de los registros que eliminas, para luego poder crear una consulta de eliminación y quitarlos de la otra tabla.
Un saludo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas