Actualizar valor de un campo en un formulario

Tengo un formulario con un subformulario. En el formulario principal tengo dos campos que son " fecha inicio baja " y " fecha fin de baja ". En el subformulario tengo un campo que es " fecha de parte de confirmación " tal que para una fecha de inicio y fin de una baja introduzco diferentes fechas de partes de confirmación. Tengo que crear una regla de validación que haga lo siguiente: cuando introduzco la fecha fin de la baja me impida poner un valor inferior a la ultima fecha de parte de confirmación. Pues bien me creo la regla de validación en el campo " fecha fin de baja " con su texto pero cuando voy a escribir la fecha fin ( si previamente no he cerrado y vuelto a abrir el formulario o guardado los datos ) no me funciona, como digo me funciona si previamente guardo los datos. La pregunta es la siguiente: ¿Cómo puedo crear un evento para que cuando actualice el campo "Fecha de parte de confirmación baja" se garden los datos introducidos y me funcione la regla de validación que tengo en el campo " fecha fin de baja "?.

1 Respuesta

Respuesta
1
La verdad me he hecho un poco de lio pero lo que planteas lo solucionas con un
Me. Requery o con un Me. Refresh
En el lugar oportuno. (Perdona que no te diga el evento oportuno, pero eso lo tienes que saber mejor tú, ya que no se cómo se introducen los datos... todos juntos, por separado, etc..)
Quiero decir que si tu en un momento determinado, abres el formulario para introducir el "fecha fin de baja", debería funcionarte. Si dices que te funciona cuando lo cierras y los vuelves a abrir, pues eso no se como se trabaja en esa BD, pero con una de las dos instrucciones anteriores debería funcionarte.
Buenas tardes:
La "fecha fin de baja" la introduzco en el formulario principal y la "fecha parte de confirmación" en el subformulario de ese formulario principal. Si introduzco el comando Me.Refresh en el evento "antes de actualizar" de la "fecha fin de baja" me dice que " se haproducido el error 2115 de tiempo de ejecución ". No se que estoy haciendo mal ...
Gracias,
José Luis
Llegados a este momento (no se cómo lo tienes montado exactamente), si creo entender lo que quieres de lo extraído de tu primer mensaje... Mandame la BD a mi correo, con un par de datos ficticios e intento solucionarlo. Y si es prudente cuelgo un ejemplo en mi blog.
Un saludo
[email protected]
Ejemplos Kepasada
Buenas tardes:
Ante todo, muchísimas gracias por el tiempo que te estas tomando en ayudarme. Te mando por correo un ejemplo.
Un saludo,
José Luis
Una vez visto, lo primero un consejo, no uses espacios ni acentos en los nombres de los campos, sólo dan problemas cuando quieres hacer referencia a ellos en VBA. Luego en la etiqueta del control puedes ponerlo cómo quieras.
Yo he utilizado la siguiente solución y a mi me funciona perfectamente:
En el evento "después de actualizar" del control "Fecha fin" del formulario "formulario principal bajas" he puesto lo siguiente:
Private Sub Fecha_Fin_AfterUpdate()
If Me.Fecha_Fin < DMax("[fecha parte de confirmación]", "Partes de confirmación", "[id baja] = " & Me.[Id Baja]) Then
MsgBox "FECHA ALTA INFERIOR A FECHA PARTE DE CONFIRMACION."
End If
End Sub
De todas formas te reenvío la BD con la modificación.
Buenos días:
Te he puesto un correo...
Saludos,
José Luis
Te acabo de enviar un correo, y según estoy escribiendo esto me doy cuenta que no te he adjuntado el archivo (Si es que uno tiene una cabeza...) Te mando un segundo mensaje...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas