Imprimir página | Cerrar ventana

Actualizar campo fecha al cambiar cuadro combinado

Impreso de: Foro de Access y VBA
Categoría: Access y VBA
Nombre del foro: Access y VBA
Descripción del foro: Foro de programacion en Access (Con código y sin código)
URL: http://www.mvp-access.com/foro/forum_posts.asp?TID=86668
Fecha de impresión: 27/Marzo/2026 a las 06:53


Tema: Actualizar campo fecha al cambiar cuadro combinado
Publicado por: vcode
Asunto: Actualizar campo fecha al cambiar cuadro combinado
Fecha de publicación: 30/Abril/2023 a las 10:59
Hola a todos,

Estoy retomando el contacto con access después de muuuuuchos años para preparar una bbdd sencilla para unos temas de del trabajo.

El caso es que tengo un formulario donde voy a completar varios datos, y necesito trabajar con un campo fecha.

Tengo un cuadro combinado con los valores 3, 6 y 12 que son los meses que quiero añadir a la fecha actual. He probado el generador de expresiones pero no veo que se actualice nada.

Ante la duda, he probado a simplemente a añadir "hola" a un campo de texto cuando cambie el valor del cuadro combinado y tampoco veo que pase nada.

Lo he probado tanto en registros ya creados como al crear uno registro nuevo...

Os dejo una muestra de lo que he probado sin éxito.

En las propiedades del cuadro combinado, en la propiedad "al cambiar" le pongo la expresión
=[notas]="hola"

Por ejemplo, en el valor por defecto del campo fecha que debe recibir la fecha, tengo puesta la expresión =AgregFecha("m";6;Fecha()) y si que funciona, es decir, cuando cargo el formulario me muestra la fecha actual + 6 meses, pero quiero poder elegir en el formulario entre las opciones de 3, 6 o 12 meses.

¿Alguna sugerencia?

Un saludo,
vcode.





Respuestas:
Publicado por: Mihura
Fecha de publicación: 30/Abril/2023 a las 11:44
Bienvenido,

Yo suelo usar el evento AfterUpdate o OnClic.

Asegúrate de que Access 've' el ejemplo, en la pestaña de propiedades del control, haz clic en los tres puntitos de manera que de ahí se dirija al código. Compruebas que lo haga con el 'HOLA MUNDO' de rigor y después ya te puedes poner a modificar la fecha.

Por cierto, como ves esto que te digo es VBA.

Un saludo.


-------------
Jesús Mansilla Castells.
Saludos desde Móstoles.

http://www.accessaplicaciones.com" rel="nofollow - Access Aplicaciones
http://www.tecsys.es" rel="nofollow - Tecsys.es


Publicado por: vcode
Fecha de publicación: 30/Abril/2023 a las 19:36
Hola Mihura, muchas gracias por la sugerencia, al final lo he resulto del siguiente modo..

Private Sub proxima_formacion_Change()
Forms(0).fecha_proxima_formacion.Value = DateAdd("m", Forms(0).proxima_formacion.Value, Forms(0).fecha_formacion)
End Sub

En excel me manejo bastante bien con vba, pero en access no lo habia hecho anteriomente y desconozco las llamadas a formularios y demás.

Un saludo,
vcode.


Publicado por: Mihura
Fecha de publicación: 30/Abril/2023 a las 19:48
Suponiendo que esté todo en el mismo formulario:

     Me.Fecha_Proxima_Formacion = DateAdd("m", Me.Proxima_Formacion, Me.Fecha_Formacion)

La propiedad por defecto de los campos es Value y escribes menos con el Me que con el Forms(0) ... que te puede dar alguna sorpresa.

Bájate el curso de Eduardo Olaz que tenemos en el foro, que te ayudará mucho.




-------------
Jesús Mansilla Castells.
Saludos desde Móstoles.

http://www.accessaplicaciones.com" rel="nofollow - Access Aplicaciones
http://www.tecsys.es" rel="nofollow - Tecsys.es


Publicado por: vcode
Fecha de publicación: 30/Abril/2023 a las 20:00
Genial!, muchas gracias!! Seguro que me viene de perlas.



Imprimir página | Cerrar ventana