Eliminar registros de una tabla

A ver si me podéis echar un cable.
Tengo en una tabla A una serie de registros. Necesito programar un botón que me borre de otra tabla B los registros en que coincida un campo ID común en ambas tablas.
Puede ser que coincidan todos o algunos o ninguno.
En la tabla B no me tendría que quedar ningún registro con el mismo ID que alguno de la tabla A después de hacer click.

1 respuesta

Respuesta
1
Vale, supongo que tienes ya el formulario con un campo de nombre id, y un botón. A éste le sacas las propiedades, eventos, buscas el que se llama 'al hacer click' y te sitúas en el campo, le das a los puntos suspensivos, generar código y ésto te deja en el editor de visual basic.
Teclea lo siguiente
currentdb.execute "delete from b where id=" & me.id
y lo pruebas. Por cierto que asumo que id es numérico, si no lo es tendría que ser
currentdb.execute "delete from b where id='" & me.id & "'"
La solución funciona, pero no es exactamente como pensé hacerlo. Mi objetivo es tener las dos tablas A y B, apretar un botón (en un formulario independiente de las dos tablas) y que lea todos los datos de la tabla A eliminando de la tabla B todos los que tienen un ID coincidente con alguno de la tabla A.
Es decir un botón que se encargue de depurar estas dos tablas, aprieto una sola vez, examina la tabla A y borra los registros de la tabla B que están en A, quedándome dos tablas A y B sin ningún Id en común...
Gracias
Más fácil aún.
Tienes ese formulario, con ese botón, y en el evento al hacer click (igual que antes hasta aquí) le pones
currentdb.execute "DELETE B.*
FROM A INNER JOIN B ON A.id = B.id;"
Es decir, una simple sql de borrado por cruce.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas