Access - Escoger Fecha fija o manual

 
Vista:
sin imagen de perfil
Val: 21
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Escoger Fecha fija o manual

Publicado por Daniel (14 intervenciones) el 18/11/2016 03:57:24
Hola a todos tengo un problema

Espero de su ayuda

necesito crear una tabla para el control de maquinas de una fabrica

Hay maquinas que se revisan internamente y estas tienen frecuencias definidas (30, 60, 90, 120, 365 dias)

Pero hay maquinas que las revisan de otra manera y se emite un certificado con la fecha de la proxima revision que no siempre se ajusta a una frecuencia definida

Por lo pronto tengo estos campos
FREC (tipo numero y escoge de una tabla de valores 30, 60, 90, 120, 365)
FECHA REV (tipo fecha)
FECHA PROX

No tendria problemas si siempre fueran frecuencias fijas FECHA PROX = FECHA REV + FREC, pero como puedo hacer que el campo FECHA PROX para ciertos registros calcule así y en otros permita al usuario ingresar la fecha de la proxima revision de acuerdo al certificado que le emiten?

Me parti la cabeza tratando de resolver esto pero no puedo AYUDA PLEASE!!!!



FIJA (tipo SI/NO): Permite al
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 Neckkito
Val: 529
Plata
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Escoger Fecha fija o manual

Publicado por Neckkito (1157 intervenciones) el 22/11/2016 11:28:34
Hola!

Si FECHA PROX es un campo calculado decirte que, por sus características, no lo puedes modificar, ni para ciertos registros ni para todos.

¿Qué haría yo? Pues situaría FECHA PROX como campo tipo fecha. Sobre esa tabla me crearía un formulario (las tablas no permiten código VBA) y, en ese formulario, y sobre el evento "Después de actualizar" del campo [FECHA REV] generaría el siguiente código:

1
2
3
4
5
6
7
8
9
10
11
12
...
Private sub...
If not isnull(me.[FECHA REV]) then
If isnull(me.FREC) then
msgbox "Debe indicar una frecuencia",vbinformation, "SIN FRECUENCIA"
me.FREC.setfocus
Else
me.[FECHA PROX]=me.[FECHA REV]+me.FREC
End if
End if
End sub
...

Con eso se te calculará la fecha revisión según la frecuencia establecida, pero el campo te quedará editable para poder cambiar la fecha de próxima revisión si se necesita.

Saludos,

Neckkito
http://bit.ly/neckkito
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