Botón que ejecuta 3 consultas de acción

Llevo varios días dándole a un problema sobre el cual ya he preguntado en este foro, pero no me lo supieron resolver... Aquí pego toda la información desde el otro hilo a ver si alguien puede echarme una mano... GRACIAS!
Tengo un formulario de access con un botón que me ejecuta 3 consultas, cada una de las cuales me pide que ingrese un nombre, que en este caso es el mismo para las tres, por lo que he de introducir 3 veces el mismo nombre. ¿Cómo hago para que solo tenga que introducir el nombre una vez?
El nombre que he de ingresar esta en el formulario. El formulario es para hacer un registro de residentes, y tiene un subformulario donde ingreso una serie de actividades que realiza cada residente. El botón del que hablo sirve para dar de baja a un residente, y ejecuta 3 consultas. La primera es de anexar, para traspasar los datos del residente a otra tabla donde se almacenan los residentes dados de baja; la segunda también de anexar traspasa los datos de las actividades a otra tabla que almacena las actividades de los residentes dados de baja; y la tercera es una consulta de eliminar que borra el registro del residente a dar de baja. Entonces me pide que ingrese el nombre del residente 3 veces, una por cada una de las consultas que ejecuta.
El código de la primera consulta, que es la que anexa los datos de los residentes en otra tabla, es:
INSERT INTO [residentes trasladados] ( nombre, nacimiento, evaluacion, diagnostico, aptitud, vision, gafas, audicion, notas_alfabetizacion, alfabetizacion, habitos, avd, aivd, estado, socializacion, lenguaje, grupo, observaciones, observaciones_pai ) 
SELECT residentes.nombre, residentes.nacimiento, residentes.evaluacion, residentes.diagnostico, residentes.aptitud, residentes.vision, residentes.gafas, residentes.audicion, residentes.notas_alfabetizacion, residentes.alfabetizacion, residentes.habitos, residentes.avd, residentes.aivd, residentes.estado, residentes.socializacion, residentes.lenguaje, residentes.grupo, residentes.observaciones, residentes.observaciones_pai 
FROM residentes 
WHERE (((residentes.nombre)=[introducir el nombre del residente]));
el de la segunda, que es la que anexa los datos de las actividades es: 
INSERT INTO [pai trasladados] ( nombre, codigo, actividad, nota1ev_junio, [%1ev_junio], ayuda1ev_junio, nota2ev_diciembre, [%2ev_diciembre], ayuda2ev_diciembre, ev_final, reprogramar, año, grupo ) 
SELECT [consulta pai].nombre, [consulta pai].codigo, [consulta pai].actividad, [consulta pai].nota1ev_junio, [consulta pai].[%1ev_junio], [consulta pai].ayuda1ev_junio, [consulta pai].nota2ev_diciembre, [consulta pai].[%2ev_diciembre], [consulta pai].ayuda2ev_diciembre, [consulta pai].ev_final, [consulta pai].reprogramar, [consulta pai].año, [consulta pai].grupo
FROM [consulta pai] 
WHERE ((([consulta pai].nombre)=[introducir el nombre del residente]));
y el de la tercera, que es la que elimina el registro es: 
DELETE residentes.nombre, residentes.nacimiento, residentes.evaluacion, residentes.diagnostico, residentes.aptitud, residentes.vision, residentes.gafas, residentes.audicion, residentes.notas_alfabetizacion, residentes.alfabetizacion, residentes.habitos, residentes.avd, residentes.aivd, residentes.estado, residentes.socializacion, residentes.lenguaje, residentes.grupo, residentes.observaciones, residentes.observaciones_pai 
FROM residentes 
WHERE (((residentes.nombre)=[introducir el nombre del residente]));
He probado a quitarle el [introducir el nombre del residente] de WHERE y buscar el registro en el formulario para entonces ejecutar las consultas, pero si lo hago así me elimina el registro que he buscado, y me anexa los datos de toda la tabla, es decir de todos los residentes.
La verdad que es un poco engorroso por que si me equivoco alguna de las 3 veces al introducir el nombre me provoca errores e incluso puedo perder información.
En el formulario el nombre se escribe en la Etiqueta1, cuyo cuadro de texto se llama NOMBRE. He probado a poner [NOMBRE] en lugar de [Introducir el nombre del residente] y solo me pide que ingrese una vez el nombre (en el momento que ejecuta la consulta de anexar relativa a las actividades, es decir, la segunda, lo que me hace pensar que algo no esta bien planteado), y el problema es que me anexa y elimina todos los registros de las tablas, es decir, de todos los residentes. Lo que he puesto ha sido lo siguiente:
Consulta 1: 
WHERE (((RESIDENTES.NOMBRE)=[NOMBRE])); 
Consulta 2: 
WHERE ((([Consulta PAI].NOMBRE)=[NOMBRE])); 
Consulta 3: 
WHERE (((RESIDENTES.NOMBRE)=[NOMBRE]));
Una

1 respuesta

Respuesta
1
Vale, create un formulario sencillito que sea modal y emergente con solo un texbox y un botón.
El botón va a ser el mismo que el otro que te abre las tres consultas, pero en las consultas en lugar de pedir datos, lo que tienes que hacer es apuntar a ese formulario y texbox creado de nuevo.
La ruta seria así:
Formularios![<nombre del formulario>]![<nombre del textbox>]
Debes tener en cuenta que el formulario te va a quedar abierto con lo que el botón, después de abrir las tres consultas deberías hacer que te cierre el formulario modal.
Finalmente lo que te quedaría hacer es que en el botón que antes te abría las 3 consultas, ahora lo que tiene que hacer es abrir este formulario modal.
Y evidentemente, en el formulario modal, escribir algo para explicar que es lo que pides.
Perdón por la extensión y densidad del texto, como he copiado y pegado muchas cosas se ha quedado todo muy compacto...
Gracias de nuevo!
Te pido disculpas por no haber contestado, la verdad que llevo un tiempo con esto parado...
Sigo sin tener claro como hacerlo, por que no se a que te refieres con un formulario que sea modal y emergente.
Muchas gracias por la ayuda
Si vas a propiedades del formulario, pestanya opciones hay modal y emergente en NO pues los pones a Si
Lo que hace esto es ponerte ese formulario encima de todos los demás y no se puede minimizar ni nada.
Y lo usaremos como criterio.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas