** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Access y VBA > Access y VBA
  Mensajes nuevos Mensajes nuevos RSS - Actualizar campo formulario
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Actualizar campo formulario

 Responder Responder
Autor
Mensaje
Nomada Ver desplegable
Colaborador
Colaborador


Unido: 03/Julio/2011
Localización: España
Estado: Sin conexión
Puntos: 1195
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita Nomada Cita  ResponderRespuesta Enlace directo a este mensaje Tema: Actualizar campo formulario
    Enviado: 27/Febrero/2019 a las 18:46
Buenas, este problema es algo que siempre he deseado hacer, pero no doy con la solución.

En un subformulario "Sub_B" tengo un campo "Notas", el cual sumo en el pie del subformulario en el campo "SumNotas".

En el formulario padre "F_A" tengo otro campo "TotNotas", el cual deseo que se actualice con el valor del campo "SumNotas", cada vez que cambie del campo "Notas".

Lo he logrado hacer con un campo independiente "aaa" en el formulario "F_A" que toma el valor de "SumNotas" y un botón que actualiza, pero, ¿no podría hacerlo automáticamente al cambiar el valor del campo "Notas"?

El código con el que lo estoy intentando al salir del campo "Notas" es:

Me.Parent!TotNotas = Me.Parent!aaa

Gracias y un saludo.
Arriba
LUDICO Ver desplegable
Habitual
Habitual
Avatar

Unido: 14/Julio/2006
Localización: Colombia
Estado: Sin conexión
Puntos: 101
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita LUDICO Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 27/Febrero/2019 a las 21:37
Has probado el Evento: Despues de actualizar en el campo "Notas"?
Arriba
Nomada Ver desplegable
Colaborador
Colaborador


Unido: 03/Julio/2011
Localización: España
Estado: Sin conexión
Puntos: 1195
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita Nomada Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 28/Febrero/2019 a las 08:13
Gracias Ludico.
Si, ya lo probé, pero me actualiza el campo "TotNotas" antes de actualizar el campo del pie del subformulario "SumNotas". Con lo cual toma el valor antiguo.


Editado por Nomada - 28/Febrero/2019 a las 08:13
Arriba
Nomada Ver desplegable
Colaborador
Colaborador


Unido: 03/Julio/2011
Localización: España
Estado: Sin conexión
Puntos: 1195
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita Nomada Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 01/Marzo/2019 a las 14:22
Pensaba que mi problema sería más fácil de solucionar.
Yo sigo dándole vueltas para ver si doy con el asunto.

Gracias.
Arriba
emiliove Ver desplegable
Moderador
Moderador


Unido: 16/Junio/2009
Localización: Mexico
Estado: Sin conexión
Puntos: 4920
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita emiliove Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 01/Marzo/2019 a las 16:51
Y si lo haces en el botón al salir del campo "Notas", pero solo le pones algo como:
Private Sub Notas_Exit(Cancel As Integer)
call nombrebotonqueactualiza_Click()
End Sub

Saludos.
Arriba
Nomada Ver desplegable
Colaborador
Colaborador


Unido: 03/Julio/2011
Localización: España
Estado: Sin conexión
Puntos: 1195
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita Nomada Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 04/Marzo/2019 a las 11:12
Gracias emiliove
El problema es que el botón que actualiza está fuera en el formulario padre, y aunque lo llamo no hace nada.
Arriba
emiliove Ver desplegable
Moderador
Moderador


Unido: 16/Junio/2009
Localización: Mexico
Estado: Sin conexión
Puntos: 4920
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita emiliove Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 04/Marzo/2019 a las 16:18
Y ya lo pusiste como Public en lugar de privado.

Saludos.
Arriba
Nomada Ver desplegable
Colaborador
Colaborador


Unido: 03/Julio/2011
Localización: España
Estado: Sin conexión
Puntos: 1195
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita Nomada Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 06/Marzo/2019 a las 10:28
Si, lo he puesto como público pero no hace nada.
No lo entiendo. Si el campo independiente "aaa" del formulario padre (F_A), cuyo origen de control es:

 = [Formulario]![Sub_B]![SumNotas]

funciona bien, es decir, yo actualizo el campo "Notas" del subformulario (Sub_B) y el campo "aaa" del formulario padre (F_A) se actualiza automátimente. Por qué no se actualiza el campo "TotNotas" de este formulario padre, con el siguiente código?:

Me.Parent!TotNotas = Me.Parent!aaa

Gracias.

Pda. Pero tan difícil es, que se actualice un campo de un formulario, al actualizarse un campo del subformulario?



Editado por Nomada - 06/Marzo/2019 a las 11:15
Arriba
Nomada Ver desplegable
Colaborador
Colaborador


Unido: 03/Julio/2011
Localización: España
Estado: Sin conexión
Puntos: 1195
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita Nomada Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 11/Marzo/2019 a las 09:30
Buenas.
En mi búsqueda por las páginas de los gurús, encontré algo relacionado con mi problema en la página de Neckkito en su ejemplo : "Suma de subformulario a formulario", pero después de leer el ejemplo, su resolución era crear un botón en el formulario (igual que el que yo tengo) para actualizar el campo. Con lo cual, tampoco me sirvió.
En otro ejemplo del mismo Neckkito (Campo calculado - guardar en tabla), hacía mención a la propiedad "Ciclo" del formulario, pero la tengo en "Registro activo", como él  indica.

Resumiendo, continúo en la búsqueda del "Santo grial".
Os iré informando. Gracias.

Arriba
mounir Ver desplegable
Colaborador
Colaborador


Unido: 09/Febrero/2009
Localización: Asturias-España
Estado: Sin conexión
Puntos: 5096
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita mounir Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 11/Marzo/2019 a las 17:08
Hola!
Lo que necesitas es guardar el resultado de suma en un campo de una tabla?

Como comentas que tienes un campo independiente en el formulario que recoge la suma, lo que haría yo es ponerlo visible y ocultar el campo de la tabla. Y poner en el evento al activar el registro (current) del formulario:

Me.nombrecampotabla = Me.nombrecapoindependiente

De esta forma cuando vayas a otro registro o te muevas por el formulario te lo actualiza.

Es un simple truco hasta que encuentres la solución.
Un Saludo.
Arriba
Nomada Ver desplegable
Colaborador
Colaborador


Unido: 03/Julio/2011
Localización: España
Estado: Sin conexión
Puntos: 1195
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita Nomada Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 14/Marzo/2019 a las 08:16
Gracias, pero el campo de la tabla no toma el valor.

He probado también en los eventos "Después de actualizar" y "Al cambiar" del campo independiente del formulario, pero tampoco funciona. Realmente cuando el valor de este campo independiente se actualiza o cambia de valor, debería realizar alguno de estos dos eventos, pero nada.

Sigo sin entender, como un campo independiente de un formulario se actualiza perfectamente con el valor de la suma de otro campo independiente de un subformulario, y sin embargo el campo de la tabla del formulario no hay forma de actualizarlo.

Saludos.
Pda. Ha seguir buscando
Arriba
Nomada Ver desplegable
Colaborador
Colaborador


Unido: 03/Julio/2011
Localización: España
Estado: Sin conexión
Puntos: 1195
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita Nomada Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 25/Marzo/2019 a las 13:28
Sigo en busca de una solución a mi problema, haciendo pruebas, mirando por web´s, pero de momento sin resultado positivo.

Aún así, no acabo de entender cómo un humilde usuario ha podido dar con un problema "sin solución". Me cuesta creer que haya tenido tan mala suerte.

Os iré informando de mi búsqueda.

Saludos.
Arriba
xavi Ver desplegable
Administrador
Administrador
Avatar
Terrassa-BCN

Unido: 10/Mayo/2005
Localización: Catalunya ||||
Estado: Sin conexión
Puntos: 11858
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita xavi Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 25/Marzo/2019 a las 13:57
Hola,

Acabo de crear una tabla (Tabla1) con un solo campo llamado Notas. He creado un formulario continuo basado en esa tabla con un cuadro de texto al pie (TotNotas) cuyo origen del control es: =Suma([Notas])
Si ejecuto el formulario, cualquier modificación de valor se refleja instantáneamente en el pie del formulario.
Ahora creo un formulario independiente. Le inserto el subformulario (nombre: sfrData). También añado un cuadro de texto cuyo origen del control es: =[sfrData]![TotNotas]

Funciona perfectamente.

O algo haces distinto o hay algo que se me escapa.

Un saludo

Xavi, un minyó de Terrassa

Mi web
Arriba
Nomada Ver desplegable
Colaborador
Colaborador


Unido: 03/Julio/2011
Localización: España
Estado: Sin conexión
Puntos: 1195
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita Nomada Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 26/Marzo/2019 a las 13:21
Gracias por atender mi "singular" duda Xavi.
Contestando a lo que dices:
"Ahora creo un formulario independiente. Le inserto el subformulario (nombre: sfrData). También añado un cuadro de texto cuyo origen del control es: =[sfrData]![TotNotas]
Funciona perfectamente."
Te diré que en lugar de un formulario independiente, yo tengo un formulario basado en una tabla, y es ahí donde está el campo TotNotas, el cual deseo tome el valor del cuadro de texto SumNotas, cuyo origen de control es SumNotas del subformulario.

saludos.

Arriba
xavi Ver desplegable
Administrador
Administrador
Avatar
Terrassa-BCN

Unido: 10/Mayo/2005
Localización: Catalunya ||||
Estado: Sin conexión
Puntos: 11858
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita xavi Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 26/Marzo/2019 a las 17:32
Hola,

Ahora te entiendo... pero no sabría cual es la solución. Y lo digo porque, si se trata de un campo calculado que depende de los valores de un subformulario (y que, por tanto, pueden variar) yo nunca lo almacenaría en la tabla "padre".

Como primera idea se me ocurre que, en el AfterUpdate del control del subformulario, lances un DSum con los criterios adecuados y, el resultado, lo pases al parent!TotNotas. Digo que hagas el DSum en lugar de mirar el cuadro del pie del subformulario porque este puede tardar en actualizarse y que acabes guardando un dato incorrecto.

Es la primera forma que se me ocurre par actualizar.

Ya diras si te vale.
Xavi, un minyó de Terrassa

Mi web
Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable