Programar condicionales en consultas.

Hola que tal, de antemano muchas gracias. Estoy haciendo una base de datos para la administración y control de un taller de mantenimiento de robots. El problema con el que me he topado es que necesito que el programa me vaya diciendo a que robots les toca mantenimiento cada semana del año. Tengo una tabla donde están todos los robots, y en un campo le puse fecha de mantenimiento. Quiero que cada semana el programa me mande 5 robots, y si de esos 5 robots alguno queda pendiente, automáticamente lo programe para la semana siguiente. También el programa tiene que preguntarme si va a haber producción esta semana, ya que si hay producción, todo el programa de mantenimiento se tiene que recorrer una semana. ¿Alguna idea de como programar esto? Creo que con alguna consulta puedo hacer que solo me mande los 5 robots que necesito a un formulario, en este mismo creo poner algún control como casilla de activación para que el usuario indique si hay producción o no esa semana. De ahí, cuando ya se haya hecho el mantenimiento es necesario que el campo "fecha de mantenimiento" de la tabla se modifique automáticamente a un año después de la fecha en que se hizo el manteminiento, para que así el programa de mantenimiento de robots sea cíclico. Cabe mencionar que es importante que todas las fechas se manejan en semanas, es decir semana 1 a la semana 52. Saludos y muchas gracias.

1 respuesta

Respuesta
1
Veo que ya solucionaste el problema en mvp-access.com gracias a Julián y Enrique. ¿Cerramos esta pregunta? Ya se que no me vas a puntuar, pero es por quitarme preguntas de en medio.
Hola que tal, si la cerramos, pero aun así te doy puntos por haber estado al pendiente de la pregunta, espero por medio del foro me puedas ayudar en alguna otra duda que tenga después, ya que me ha funcionado más preguntar por ahí que por aquí.
Muchas gracias, un saludo.
Pongo el código para que algún usuario que tenga dudas sobre el tema se guie:
Sub ActualizarFechas()
Dim Atrasados As Integer, unaSql As String
DoCmd.RunSQL "UPDATE Mantenimiento SET [Mantenimiento].[Fecha] = [Mantenimiento].[Fecha] +728, [Mantenimiento].[Estado] = 'Programado' WHERE (((Mantenimiento.Estado)='OK'))"
DoCmd.RunSQL "UPDATE Mantenimiento SET [Mantenimiento].[Fecha] = [Mantenimiento].[Fecha] +7, Mantenimiento.Estado = 'Urge' WHERE (((Mantenimiento.Estado)='Pendiente'))"
Atrasados = DCount("*", "Mantenimiento", "Estado = 'Urge'")
unaSql = "SELECT TOP " & Atrasados & " [Serie] From Mantenimiento WHERE [Mantenimiento].[Estado] <> 'Urge' AND Format([Fecha],'yyyyww') = '" & Format(Date, "yyyyww") & "'"
DoCmd.RunSQL "UPDATE Mantenimiento SET [Mantenimiento].[Fecha] = [Mantenimiento].[Fecha] +7, [Mantenimiento].[Estado]='Urge' WHERE [Serie] IN (" & unaSql & ")"
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas