Requery de un formulario desde un subformulario

Tengo este inconveniente
Tengo un subformulario que muestra la sumatoria de una grilla o detalle que también es subformulario de un formulario ahora en el evento después de actualizar de el subformulario detalle tengo una función que actualiza el de totales cuando ingresan registros, es esta
=[Formularios]![frmgastospagos]![subtotalesgastos].[Formulario].[Requery]
Hasta aquí todo muy bien, pero ahora tengo otro formulario basado en otra consulta que también es de totales y necesito que también se refresque como el anterior
Entonces lo que necesito es pasar esta función o mejor escribir esta función en código para poder hacer requery de los dos formularios en un evento
Estoy tratando con esta pero me dice que no encuenta el formulario
Forms! Frmgastospagos! Subtotalesgastos. Requery
O hacer que en la función se pueda poner el requery de ambos formularios como se puede escribir
Bien espero me puedan ayudar con esto.

2 respuestas

Respuesta
3
Perdón no quiero molestar en absoluto. O bien yo no te entiendo o tienes algún error en la transcripción. La ¿"funcion"? Que actualiza el de totales es
=[Formularios]![frmgastospagos]![subtotalesgastos].[Formulario].[Requery]
¿Y eso te funciona?, debes ser el primero. Si empiezas por un igual, entiendo que le estas dando valor a un control o lo que fuese, pero desde luego el [requery], así, entre paréntesis no puede funcionar.
En lo otro que comentas y dices "pero me dice que no encuentra el formulario", entiendo (por lo poco que te he entendido) que no es un formulario sino un subformulario, por lo que toda esa expresión no valdría.
Intento explicarme, si tenemos un formulario con 2 subformularios:
Para actualizar los 2 subformularios desde el formulario:
Me. Subformulario1. Requery
Me. Subformulario2. Requery
Para actualizar el formulario desde uno de los subformularios:
Me. Parent. Requery
Para actualizar el otro subformulario desde un subformulario:
Me. Parent. Subformulario2. Requery
No se si esto es lo que preguntas, porque me he liado con los formularios y subformularios que comentas, porque dices "tengo un subformulario... que también es subformulario de un formulario... después de actualizar de el subformulario" . Pues lo dicho no me he enterado. Acláramelo un poco y lo intentamos.
Mi blog Mi Web Mi foro
Un saludo
Hola que pena, tal vez no fui lo suficientemente claro pero de todas formas ya lo resolví de esta forma
form_formulario1.subformulario1.form.requery
form_formulario1.subformulario2.form.requery
Y si antes lo tenia como una función y comenzaba con = y estaba funcionando solo para un subformulario
Ahora tengo otra necesidad y me gustaría que me ayudaras un poco con esto te explico
Tengo una tabla llamada saldos con los campos fecha, saldofinalefectivo, saldofinalcheque
Necesito filtrar el registro por medio de un formulario que tiene un textbox con una fecha cuando el usuario digita por ejemplo 01/08/2010 yo necesito traer los datos del registro anterior al registro que tiene esa fecha
Este select no funciona por que trae todo lo menor a la fecha del filtro y solo necesito el registro anterior al del filtro
SELECT saldos.fecha, saldos.saldofinalefec, saldos.saldofinalche
que FROM saldos
WHERE (((saldos.fecha)<[Formularios]![frminformes]![Texto4]));
Nota: los registros van en la tabla en orden asendente de fecha pero pueden haber fechas que no existan en la tabla por lo que no se podría utilizar saldo. Fecha-1 osea restar un día a la fecha del filtro
Espero haber sido claro con esta, muchas gracias por tu ayuda ¡
Utiliza Dmax, que te devuelve el registro mayor. Mira la ayuda de Access que te lo explica mejor que yo, seguro.
Se trata de hacer un Dmax que sea menor a la fecha que tenemos, lo que nos devolverá lo que comentas. Algo como:
DMáx("lafecha";"UnaTabla";"micampo=" & loquebusco & "and lafecha<#" & controlfechadelformulario & "#")
O lo puedes hacer con dos consultas como conteste en un hilo y aporte un ejemplo:
Ejemplo
Respuesta

Me.Subformulario. Requery funcionó perfectamente. Una solución sencillísima.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas