Anexar un registro en access solo si el ID no existe

Tengo una tabla con registros que quiero guardar en otra tabla para respaldar, pero solo quiero agregar el registro si el ID no existe, es decir si ya esta guardado, ya no lo anexo.

1 respuesta

Respuesta
3

Puedes ejecutar una consulta de este estilo (cambia a los nombres que tu tengas):

INSERT INTO TablaDestino SELECT * FROM TablaOrigen WHERE ID NOT IN (SELECT ID FROM TablaDestino)

Parto de la base de que ambas tablas tienen la misma estructura, si no fuera así, tendrías que indicar los campos a anexar y los de destino.

Un saludo.


¿Este código lo pongo en VB de un formulario verdad? Lo voy a probar, gracias Sveinbjorn El Rojo

Depende, lo puedes poner en código VBA (con alguna línea más de código necesaria para que funcione), o puedes usar esa SQL para crear una consulta en vista SQL, y luego ejecutar esa columna cada vez que quieras hacer el respaldo.

Un saludo.


¡Gracias! Lo voy a probar y te aviso como me fue. Muchos saludos

Hola SveinBjorn, si me funcionó, me costó algo de trabajo pero ya funciona. ¿El proceso de hacerlo desde visual basic es mucho más complicado? Aunque esta forma ya me funcionó, ¿me podrías decir como hacerlo desde VB? Gracias de nuevo

En VBA lo puedes hacer con un código como éste (con los nombres de tus elementos):

CurrentDb.Execute "INSERT INTO TablaDestino SELECT * FROM TablaOrigen WHERE ID NOT IN (SELECT ID FROM TablaDestino)"

Es la forma más sencilla que se puede hacer.

El código lo colocarías, por ejemplo, en el evento "al hacer click" de un botón, o en aquel otro evento que consideres más adecuado a lo que quieres.

Un saludo.


Añade tu respuesta

Haz clic para o

Más respuestas relacionadas