Autor |
Tema Buscar Opciones del Tema
|
Juan
Colaborador
Unido: 26/Mayo/2006
Localización: España
Estado: Sin conexión
Puntos: 1035
|
Tema: Regenerar un formulario desde un subform independi Enviado: 22/Noviembre/2020 a las 07:32 |
Buenos días a tod@s En primer lugar agradecer a Mounir, Emilove, Juanmasp, Dallebaso, Pitxiku y a todos los que habéis intentado ayudarme en este asunto. Deciros que funciona. Intentaré aclarar lo que he hecho: Estructura: Formulario principal.- MapaPzas Subformulario (Independiente).-MapaCal Calendario (dentro de MapaCal).-Calendar4 Cuadro de texto (dentro de "MapaCal") donde aparece la fecha marcada en el calendario.- FechaMapa
El elenco de Eventos que aparecen en el Calendar4 son: Al actualizar Al salir Al entrar Al percibir el enfoque Al perder el enfoque Independientemente del código empleado, ninguno de esos servía para mi propósito,. Lo que he hecho es añadir el evento "Después de actualizar" donde poniendo tanto: Me.form.Parent.Requery como Forms("MapaPzas").Requery Funciona perfectamente. Como dice Pitxiku en el evento "Después de actualizar" del cuadro de texto no funciona con ninguno de los códigos. Reitero mi agradecimiento a todos Saludos Juan Nota: Por mi parte podéis quitar el hilo
|
jj
|
|
pitxiku
Colaborador
Unido: 27/Septiembre/2017
Localización: En mi casa
Estado: Sin conexión
Puntos: 1510
|
Enviado: 21/Noviembre/2020 a las 22:42 |
Supongo que el usuario es quien selecciona la fecha en el calendario. Si es así, revisa los eventos de ese calendario, o ve probando de uno en uno para ver con cuál te funciona mejor el Requery. En el cuadro de texto no te funcionará porque al ser calculado, los eventos Después de actualizar y similares no se lanzan al no ser el usuario el que modifica el valor directamente.
|
|
Dabellaso
Asiduo
Unido: 18/Noviembre/2012
Localización: España
Estado: Sin conexión
Puntos: 338
|
Enviado: 21/Noviembre/2020 a las 19:33 |
Juan escribió:
El parent de donde está el calendario y la fecha, es el propio calendario y éste, pienso yo, no necesita el Requery, el que lo necesita es el formulario que contiene al calendario y ahora la fecha que he trasladado a un campo de texto. |
Creo que has confundido terminos, cuando dices: "El parent de donde está el calendario y la fecha, es el propio calendario" si analizas eso, verás que no tiene sentido, de ser así, no seria el Parent, si no el propio formulario y el título de la consulta seria erróneo
Como indica Juanmasp "Me.Parent.Form.Requery" actualizará el formulario que contiene el calendario, es decir, el formulario principal que contiene el subformulario con el calendario.
Por otro lado está el tema de cuando actualizar, y para eso, creo que como dica Emilove, el mejor lugar es en el evento de "después de actualizar" del control cuyo valor que cambies.
Si por lo que sea el "Me.Parent.Form.Requery" no te convence, siempre podrás actualizar el formulario que quieras usando la colección de formularios abiertos y su nombre con:
Forms("NombreDelFormularioQueQuieroActualizar").Requery
|
El saber no ocupa lugar, sólo tiempo
|
|
Juan
Colaborador
Unido: 26/Mayo/2006
Localización: España
Estado: Sin conexión
Puntos: 1035
|
Enviado: 19/Noviembre/2020 a las 17:23 |
Hola Emilove y Juanmasp Gracias por atenderme Para Juanmasp.- El parent de donde está el calendario y la fecha, es el propio calendario y éste, pienso yo, no necesita el Requery, el que lo necesita es el formulario que contiene al calendario y ahora la fecha que he trasladado a un campo de texto. Emilove.- No sé si sigo bien tus indicaciones, en el evento del cuadro de texto donde llevo la fecha del calendrio "después de Actualizar" he puesto:
Docmd.RunComand ac CmdSave Record Me.form.Requery
Pero no regenera nada Un saludo y gracias Juan
|
jj
|
|
Juanmasp
Habitual
Unido: 21/Abril/2006
Estado: Sin conexión
Puntos: 118
|
Enviado: 19/Noviembre/2020 a las 15:12 |
Hola
En el subformulario, al cambiar la fecha, pon : Me.Parent.Form.Requery
El parent hace referencia al formulario que contiene es subformulario.
Ten en cuenta que, si el subformulario independiente lo abres en algún otro proceso sin que esté dentro de otro formulario, te dará error porque el Parent no existirá.
Saludos.
|
|
emiliove
Administrador
Unido: 16/Junio/2009
Localización: Mexico
Estado: Sin conexión
Puntos: 5694
|
Enviado: 19/Noviembre/2020 a las 15:06 |
Y si en el evento después de actualizar forzas el guardado con un Docmd.RunComand acCmdSaveRecord
Saludos..
|
|
Juan
Colaborador
Unido: 26/Mayo/2006
Localización: España
Estado: Sin conexión
Puntos: 1035
|
Enviado: 19/Noviembre/2020 a las 06:28 |
Buenos días¡ No sé muy bien si con lo que he hecho doy pistas o despisto, pero ahí va. Lo que pretendo es crear un campo donde traslado la fecha del calendario en el momento que la cambio, para ello el el origen de control del nuevo campo escribo:
=me.MapaCal.Formulario!FechaMapa Y hasta ahí muy bien, ya tengo en el formulario la fecha que cambia correctamente cuando la cambio en el calendario. El siguiente paso que pretendo es poner en un evento del cuadro de texto la instrucción Me.form.Requery Pero esto no me funciona ni "al cambiar"ni "DEspues de actualizar" etc solo me funciona en aquellos eventos que tengo que hacer algo· p.e "click", "mover el ratón" etc En cuyo caso estoy en la misma posición que con el botón. Saludos Juan
|
jj
|
|
Juan
Colaborador
Unido: 26/Mayo/2006
Localización: España
Estado: Sin conexión
Puntos: 1035
|
Enviado: 18/Noviembre/2020 a las 19:56 |
Hola mounir Para que eso se produzca se tiene que cerrar y después abrir el formulario y en este caso no haría falta ni eso, simplemente con cerrar y abrir el formulario ya se modifican los datos del formulario. Lo que quiero es que se produzcan los cambios después de poner la nueva fecha pero sin salir del formulario. Lo intentaré explicar mejor. En el formulario hay una serie de campos que varían según la fecha. La secuencia normal es la siguiente: entro al formulario y veo una fecha y unos datos, si quiero ver lo que ocurre en otra fecha, hago el cambio en el calendario pero en el formulario no cambia nada hasta que con el botón le digo lo de Me. Requery Hasta luego
|
jj
|
|
mounir
Colaborador
Unido: 09/Febrero/2009
Localización: Asturias-España
Estado: Sin conexión
Puntos: 6479
|
Enviado: 18/Noviembre/2020 a las 19:10 |
Hola!
Prueba poner en el evento de "al activar registro" del formulario
Me.Requery
Editado por mounir - 18/Noviembre/2020 a las 19:11
|
Un Saludo.
|
|
Juan
Colaborador
Unido: 26/Mayo/2006
Localización: España
Estado: Sin conexión
Puntos: 1035
|
Enviado: 18/Noviembre/2020 a las 18:59 |
Hola a tod@s Tengo un formulario con una serie de campos y en él se encuentra un calendario con su cuadro de texto donde se ve la fecha marcada en el calendario. Este calendario con su cuadro de texto asociado son independientes del formulario principal y cuando marco la fecha en el calendario aparece en el cuadro de texto pero en el formulario no cambia nada. El asunto lo he resuelto colocando un botón en el formulario que al hacer click le digo:
Me.form.Requery
Lo que quiero es que al aparecer la nueva fecha en el cuadro de texto se regenere el formulario principal sin tener que aplicar el botón. Un saludo y muchas gracias de antemano
|
jj
|
|