Inserción

Ada cierto tiempo quiero importar todos los datos de una tabla de otra bd a la bd que estoy trabajando. ¿Cómo puedo hacer para que solo me importe los datos nuevos(que en la importación anterior no existían)?
Ejemplo:
insert into Tabla2(id,tipo1,tipo2) in db3.mdb
select tabla1.id,tabla1.tipo1,tabla1.tipo2
from Tabla1;
De esta forma no me deja porque se introducirían claves repetidas.
En las tablas las claves son id.

2 Respuestas

Respuesta
1
Has probado vinculando las tablas,,, se actualizan automáticamente...
Respuesta
1
Me parece bien, ya que si tienes un id clave principal y no permites duplicados podrías usar simplemente una consulta de datos anexados, incluso si es necesario añadirle algún Criterio.
Me permito ponerte esta aclaración de la ayuda:
Acerca de la anexión de registros con campos Autonuméricos
Dependiendo de cómo está diseñada una consulta de datos anexados, Microsoft Access puede agregar automáticamente nuevos valores Autonuméricos o retener los valores de la tabla original.
Para hacer que Microsoft Access agregue valores Autonuméricos automáticamente, no arrastre el campo Autonumérico a la cuadrícula de diseño de la consulta al crear la consulta.
Con este método, Microsoft Access anexa registros e inserta automáticamente valores Autonuméricos. El primer registro anexado tiene un valor equivalente al valor más alto que se haya introducido en alguna ocasión en el campo Autonumérico más uno (incluso si el registro que contenía el valor Autonumérico más alto se ha eliminado).
Para conservar los valores Autonuméricos de la tabla original, arrastre su campo Autonumérico a la cuadrícula de diseño de la consulta al crear la consulta.
Si el campo Autonumérico de la tabla a la que está anexando es una clave principal y la tabla original y la tabla a la que está anexando contienen valores Autonuméricos duplicados, utilice el primer método en su lugar.
NOTA: existe una .mdb gratuita de la V 8.0 que realiza un mantenimiento de tablas como el que tu sugieres, es más, busca modificaciones en registros y mantiene un historial de las mismas. La puedes encontrar en:
http://www.peterssoftware.com/trm.htm
Con todos mis respetos a Ohmygood, esto es suyo:
Private Sub Comando0_Click()
On Error Resume Next
Dim sentencia_sql As String
sentencia_sql = "INSERT INTO TABLA2 SELECT * FROM Tabla1 WHERE NOT EXISTS (SELECT * FROM TABLA2 WHERE CODIGO = TABLA1.CODIGO);"
DoCmd.RunSQL sentencia_sql
End Sub
Te hará una consulta si es cierto que hay datos que anexar.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas