Access - Ingresar fecha del año

   
Vista:

Ingresar fecha del año

Publicado por Marcos (68 intervenciones) el 24/01/2008 19:15:32
Hola de nuevo:
En un formulario tengo un campo fecha y quisiera que en el evento después de actualizar aplicar una instrucción para que me permita ingresar fechas del año y no de años anteriores. Con esto quiero evitar errores de ingreso por digitación.
ejemplo:
Hoy se debe ingresar 24-01-2008, pero a veces por error digitan 24-01-2007.

Aquí debiese aparecer un mensaje diciendo que la fecha debe ser del año actual.

Gracias por su ayuda.
Marcos R.
Antofagasta - Chile
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

RE:Ingresar fecha del año

Publicado por Pepe (766 intervenciones) el 24/01/2008 20:41:58
Hola Marcos

Yo lo haría con una macro que se ejecutase en el evento de despues de actualizar.

Supongamos que el campo [texto0] es el que tiene la fecha y el campo[texto2] en el que introduces la nueva.

La considición de la macro seria Año[texto0]<>[año[texto2]
La acción puede ser un cuadro de mensage, o deshacer, o las dos en conjunto. Lo que te benga bien.

Si lo quieres en código, me parece que puedes er una cosa como esta, (si lo usas compruebalo que yo de codigo no tengo mucha idea)

With CodeContextObject
If (Year(.Texto0) <> Year(.Texto2)) Then
Beep
MsgBox "el año no corresponde", vbOKOnly, ""
End If
End With

Suerte, Pepe
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

RE:Ingresar fecha del año

Publicado por Marcos (68 intervenciones) el 24/01/2008 20:55:31
Gracias Pepe. Con tu idea hice lo sgte. y funciona a la perfección:
En la consulta que está basado mi formulario cree un campo calculado llamado Hoy en el cual puse Hoy: Der(Fecha(),4). Esto me da el año actual.
Luego cree otro campo calculado en el cual rescato el año de la fecha ingresada en el cual puse: Periodo: Der([FechaIngresada],4)
Luego en el formulario en el evento después de actualizar de la fecha ingresada puse:

If Me.Periodo.Value <> Me.Hoy.Value Then
MsgBox "LA FECHA DIGITADA NO CORRESPONDE AL AÑO ACTUAL"
Cancel = True
Exit Sub
End If

Para que el campo calculado "Hoy" y "Periodo" sean llamados por el código los puse en el formulario ocultos, es decir, con la propiedad visible a false.

Gracias por tu ayuda.
Marcos R.
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