Hola a todos, me gustaría saber si puedo hacer algo para introducir una fecha en un registro de una tabla y que automáticamente cuando vaya a meter la siguiente fila de registros la fecha cambie y avance un día. ¿Se puede hacer esto? ¿Y en un formulario?
1 Respuesta
Respuesta de pierregb
1
1
pierregb, Tengo diez yy de experiencia programando bases de datos, en...
A ver si te sirve esto, supongamos que tenemos un formulario con varios campos, en uno de ellos debe ir la fecha que tu deseas se incremente en cada entrada de registro, así lo entendí, ¿no?. Vete al diseño y coloca un campo independiente (en algún lugar que no te moleste), vamos a usarlo para llevar el control del incremento de la fecha, ¿después puedes ponerlo? ¿Visible no?. Al campo de la tabla lo llamaremos [fecha], al otro (independiente) [fecha2] . En [fecha2] guardaremos el contador, ¿para esto puedes crear una macro que contenga la instrucción? ¿Establecer valor?, esta macro será la [Macro3], sus expresiones serán: [Macro3] Evento: Al cargar el formulario Acción: EstablecerValor Elemento: [Formularios]![Formulario2]![fecha2] Expresión: fecha() Con esto tendremos la fecha inicial o de arranque, colocada en el campo independiente [fecha2]. [Macro2] Evento: Al activar registro Acción: EstablecerValor Elemento: [Formularios]![Formulario2]![fecha] Expresión: [Formularios]![Formulario2]![fecha2] Con esto pondremos automáticamente el valor del contador en el campo [fecha], que es el campo de la tabla. Hasta ahora no ha sucedido nada, pues la [macro1] es la que llevará el trabajo de sumar, se hará de la siguiente forma: [Macro1] Evento: Al salir (DEL CAMPO FECHA) Acción: EstablecerValor Elemento: [Formularios]![Formulario2]![fecha2] Expresión: ValorFecha([Formularios]![Formulario2]! [fecha])+1 Con esto sumaremos un día cada vez que salgamos del campo fecha para ir a un nuevo registro. ¿Fíjate qué al sumar colocamos la función? ¿Valorfecha?, de otra forma Access da un error ya que no interpreta los mismos tipos de datos (+1 con la fecha). Ten presente que el evento al salir del campo fecha, que ejecuta el [macro1], es del campo fecha no del formulario. Este proceso se puede hacer también con Visual Basic, pero así fue más rapidito.