Access - elemental dolor de cabeza2

 
Vista:

elemental dolor de cabeza2

Publicado por lina (48 intervenciones) el 28/07/2007 00:40:27
Hola
Usted podra pensar que me falla el coco, pero mira hice un me.refresh en el evento click del boton guardar de el subformulario llamado OrdersSubform13 y bueno en el pie de pagina de este formulario tengo el campo llamado max2. bien ahora cada vez que guardo una orden me actualiza el maximo de ordenes del cliente como queria, pero anda que aqui esta la locura, sucede que en el formulario ppal tengo un campo llamado X y en el en el origen de datos, source data le puse esto

= OrdersSubform13.Formulario!max2 el problema es que me muestra #Name? cuando se ejecuta, y bien cuando miro este campo en tiempo de diseno alla hay un pequeno punto verde en la esquina del text box que dice" "invalid control propetie: control source " "" como se no detectara el campo max2 del subformulario. para evitar errores hice copy and paste del nombre del subformulario y del campo.
AYUDA, THX
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Actualizar campo en formulario principal desde subformulario

Publicado por Alejandro (4142 intervenciones) el 16/08/2023 23:00:40
Parece que estás tratando de actualizar un campo en el formulario principal usando un valor de un subformulario después de guardar una orden. Sin embargo, puede haber algunas confusiones en la forma en que estás tratando de acceder y actualizar el campo.

A continuación, te proporciono una guía paso a paso sobre cómo realizar esto correctamente:

1. Evento Click del botón guardar en el subformulario:

Abre el evento Click del botón Guardar en el subformulario "OrdersSubform13". Asegúrate de que el código en este evento guarde la orden correctamente. Luego, después de guardar la orden, actualiza el campo "max2" en el subformulario usando el siguiente código:

1
2
Me![max2] = ObtenerMaximoOrden() ' Llamada a la función para obtener el máximo
Me.Refresh

Asegúrate de que `ObtenerMaximoOrden()` sea una función que calcule y devuelva el máximo de órdenes.

2. Campo "max2" en el subformulario:

Asegúrate de que el campo "max2" en el subformulario "OrdersSubform13" esté configurado correctamente y que su origen de control sea la función o valor que calcula el máximo de órdenes.

3. Campo "X" en el formulario principal:

Ahora, en el formulario principal, vincula el campo "X" al subformulario y al campo "max2". Para hacer esto, establece el origen de control del campo "X" en el formulario principal de la siguiente manera:

1
=[NombreDelSubformulario].Form![max2]

Asegúrate de reemplazar `[NombreDelSubformulario]` con el nombre real del subformulario que contiene el campo "max2".

4. Guardar y probar:

Guarda tus cambios y prueba el flujo. Cuando guardes una orden en el subformulario, el campo "max2" debería actualizarse en el subformulario y, a su vez, el campo "X" en el formulario principal debería mostrar el valor actualizado.

Asegúrate de que los nombres de los objetos y los controles estén escritos correctamente y de que los eventos y las fórmulas estén configurados según lo indicado. Esto debería ayudarte a lograr la actualización del campo en el formulario principal desde el subformulario correctamente.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar