Emitir un mensaje en access debido a una comparación de fechas

Estoy creando un pequeño programa en access de gestión de mtto, y quería que me ayuden a generar un mensaje a partir de comparación de fechas... Mi tabla es FECHAS DE MTTO con dos campos FECHA ACTUAL y FECHA ULTIMO MTTO... Ya cree mi formulario en el cual al abrir el formulario quiero que compare la FECHA ACTUAL y FECHA ULTIMO DE MTTO, y si mi fecha de mtto esta por aproximarse (dos semanas antes) me salga un mensaje de texto indicando que se aproxima la fecha de mtto...

2 respuestas

Respuesta
2

Una forma:

En el evento "al activar registro" del formulario pon este código:

If Abs(Datediff("d",Me.[FECHA ACTUAL],Me.[FECHA ULTIMO MTTO]))<=14 then

Msgbox "Quedan menos de dos semanas para mantenimiento", vbInformation,"RECORDATORIO"

End If

Un saludo


Muchas gracias, esta perfecto, sobre eso trabajare, muchas bendiciones...

Una consulta más, como puedo hacer que me muestre, por decir las maquinas que están con fecha próxima a mtto

En este ejemplo de Neckkito lo tienes explicado: http://siliconproject.com.ar/neckkito/index.php/component/content/article/93-ejemplos-explicados/ejemplos-de-formularios/159-aviso-automatico-al-abrir-un-formulario 

Es un sistema un poco diferente al que te propuse, pues el mío te avisa al ir navegando por los registros si se da la condición en el registro activo.

Respuesta
2

Supongamos que la tabla donde está Fecha Ultimo... se llama Mantenimiento. En el evento al cargar del formulario crea un procedimiento de evento y escribe

If dcount("[fecha ultimo mtto","Mantenimiento")>=1 then

msgbox"Hay vehículos con fecha de vencimiento próxima",vbokcancel,"Aviso"

if vbok then

form.recordsource="select * from mantenimiento where [fecha ultimo mtto]=Date+14"

end if

end if

Así cuando vayas a abrir el formulario contará si hay ¿vehículos? Cuya fecha ult... sea de 14 días a partir de la fecha de sistema. Si los hay te aparecerá el mensaje y si dices que si, el origen de registros del formulario serán precisamente esos registros.

En caso de que quieras que te los esté enseñando durante, una semana, por ejemplo tendrías que poner

fecha ultimo...between date+7 and date + 14

muchas gracias por responder y por su ayuda...muchas bendiciones..

Para cualquier cosa, aquí me tienes

un favor, acabo de colocar la instruccion como se lo muestro a continuacion:


Private Sub Form_Open(Cancel As Integer)
If DCount("[FECHA FINAL:]", "[ORDENES DE TRABAJO]") >= 1 Then
MsgBox "Hay vehículos con fecha de vencimiento próxima", vbOKCancel, "Aviso"
If vbOK Then
Form.RecordSource = "select * from [ORDENES DE TRABAJO] where [FECHA FINAL:]= Date+14"
End If
End If
End Sub

donde ORDENES DE TRABAJO es el nombre de mi tabla y FECHA FINAL: es el campo...me muestra el mensaje le digo si..y me sale otro mensaje ...introduzca el valor del parametro..fecha....y no me muetran los registros de fecha final.

¿Me podrías mandar la(s) tabla(s) origen con dos o tres registros inventados (no hace falta la base entera) y el formulario a [email protected] para que le eche un vistazo?. Si lo haces, en el asunto del mensaje pon tu alias Marcelo, ya que si no sé quien me escribe ni los abro.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas