Botón ejecutar botón de subformulario Access

Como siempre agradeceros de antemano vuestra ayuda.

Sigo peleando con las funciones de una compleja base de datos que me he empeñado en terminar...

Tengo un formulario "AlquilerControlRentas" con un subformulario que se visualiza en modo hoja de datos "AlquilerControlRentasSubf". Cada mes, una vez que los protocolos de pago de los inquilinos ya se ha completado (han pagado todos) hay que limpiar en el subformulario varios campos (PagadoInquilino, PagadoPropietario, Facturaemitida).

Después de aprender de los sabios he programado el botón, declarándolo como Public en el subformulario, después he programado el botón en el formulario, llamando al botón del subformulario, pero lo curioso es que solo me borra los datos del primer registro, cuando en el listado completo aparecen más de 70. He revisado todos los parámetros y parece estar bien, así que como siempre, cualquier ayuda será más que bienvenida.

2 respuestas

Respuesta
1

Sin saber como "trabajan" es difícil dar una respuesta concreta. Es decir, si, digamos, hay un único registro en el formulario y lo vas borrando cada mes o hay un registro por mes en el formulario. Puedes hacerlo de muchas formas. Suponiendo que el formulario y el subformulario estén relacionados por un campo, al para el ejemplo llamaremos, NumAlquiler

1º Un único botón en el formulario y en sus propiedades-Eventos-Al hacer clic

docmd.setwarnings false

docmd.runsql"delete pagadoinquilino,pagadopropietario,....from alquilercontrolrentassub where NumAlquiler=" & me.numalquiler & ""

me.alquilercontrolrentas.form.requery

2º Un único botón en el subformulario poniendo

docmd.setwarnings false

docmd.runsql"delete pagadoinquilino,pagadopropietario,....from alquilercontrolrentassub where NumAlquiler=" & me.parent!numalquiler & ""

Me. Requery

3º Un botón en el formulario y otro en el subformulario( al que para el ejemplo llamaremos Comando3) y le pones la instrucción en el del subformulario y en el botón del formulario puedes poner

Call me.alquilercontrolrentas.form!Comando3_Click

Sería conveniente que concretaras como trabajan formulario y subformulario

Respuesta
1

¿Si se refiere a limpiar borrar?. Si es limpiar lo puede hacer con UPDATE sobre la tabla origen de datos del formulario. Ahora no necesita llamar el botón del subformulario, lo puede suprimir y actualizar los registros desde el formulario principal. Algo como

Currentdb.Execute "UPDATE tablasubform SET PagadoInquilino=Null, PagadoPropietario=Null, Facturaemitida=Null"

Me.subformulario.Form.Requery

En donde tblasubform es la tabla origen de datos del subformulario y subformulario es el nombre del subformulario.

Si es retirar debe hacerlo como se lo indican.

Ya le envíe la base de datos con la respuesta a su correo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas