¿Cómo crear con Access y VB una base de datos que te de los turnos rotatorios de unos trabajadores?
Tengo una base de datos en la que tiene tres tablas: TRABAJADORES, TURNOS Y TURNOS_TRABAJADOR, con esta última creé un formulario que tiene los campos CÓDIGO_TRABAJADOR, TURNO Y FECHA_INICIO y un control llamado FECHA_INICIO_TURNOS. Lo que pretendo es que poniendo la fecha_inicio_turnos automáticamente me cubra todos los campos del formulario o de la tabla (son 7 trabajadores con 7 turnos). Me estoy rompiendo la cabeza y escribí este código (mi primer código, perdonar las tonterías que seguro que puse), pero imagino que no es necesaria tanta historia, además yo escribo el código con lo que pretendo pero ¿cómo lo tendría que llamar desde el formulario para que se ejecutase?. Tampoco sé si es necesario que lo declare público ni sé si al final del código vuelva a empezar el ciclo de turnos sumando las fechas o tengo que repetirlos hasta completar los 365 días si quisiera sacar un calendario anual por ejemplo.
Public Sub turnostodos()
Dim Trabajador As Byte
Dim Turno As Byte
Dim Fecha_inicio As Date
Trabajador = 1
Trabajador = 2
Trabajador = 3
Trabajador = 4
Trabajador = 5
Trabajador = 6
Trabajador = 7
Turno = 1
Turno = 2
Turno = 3
Turno = 4
Turno = 5
Turno = 6
Turno = 7
If Trabajador = 1 And Turno = 1 Then Fecha_inicio = Fecha_inicio
If Trabajador = 2 And Turno = 2 Then Fecha_inicio = Fecha_inicio
If Trabajador = 3 And Turno = 3 Then Fecha_inicio = Fecha_inicio
If Trabajador = 4 And Turno = 4 Then Fecha_inicio = Fecha_inicio
If Trabajador = 5 And Turno = 5 Then Fecha_inicio = Fecha_inicio
If Trabajador = 6 And Turno = 6 Then Fecha_inicio = Fecha_inicio
If Trabajador = 7 And Turno = 7 Then Fecha_inicio = Fecha_inicio
If Trabajador = 1 And Turno = 2 Then Fecha_inicio = Fecha_inicio + 7
If Trabajador = 2 And Turno = 3 Then Fecha_inicio = Fecha_inicio + 7
If Trabajador = 3 And Turno = 4 Then Fecha_inicio = Fecha_inicio + 7
If Trabajador = 4 And Turno = 5 Then Fecha_inicio = Fecha_inicio + 7
If Trabajador = 5 And Turno = 6 Then Fecha_inicio = Fecha_inicio + 7
If Trabajador = 6 And Turno = 7 Then Fecha_inicio = Fecha_inicio + 7
If Trabajador = 7 And Turno = 1 Then Fecha_inicio = Fecha_inicio + 7
If Trabajador = 1 And Turno = 3 Then Fecha_inicio = Fecha_inicio + 14
If Trabajador = 2 And Turno = 4 Then Fecha_inicio = Fecha_inicio + 14
If Trabajador = 3 And Turno = 5 Then Fecha_inicio = Fecha_inicio + 14
If Trabajador = 4 And Turno = 6 Then Fecha_inicio = Fecha_inicio + 14
If Trabajador = 5 And Turno = 7 Then Fecha_inicio = Fecha_inicio + 14
If Trabajador = 6 And Turno = 1 Then Fecha_inicio = Fecha_inicio + 14
If Trabajador = 7 And Turno = 2 Then Fecha_inicio = Fecha_inicio + 14
If Trabajador = 1 And Turno = 4 Then Fecha_inicio = Fecha_inicio + 21
If Trabajador = 2 And Turno = 5 Then Fecha_inicio = Fecha_inicio + 21
If Trabajador = 3 And Turno = 6 Then Fecha_inicio = Fecha_inicio + 21
If Trabajador = 4 And Turno = 7 Then Fecha_inicio = Fecha_inicio + 21
If Trabajador = 5 And Turno = 1 Then Fecha_inicio = Fecha_inicio + 21
If Trabajador = 6 And Turno = 2 Then Fecha_inicio = Fecha_inicio + 21
If Trabajador = 7 And Turno = 3 Then Fecha_inicio = Fecha_inicio + 21
If Trabajador = 1 And Turno = 5 Then Fecha_inicio = Fecha_inicio + 28
If Trabajador = 2 And Turno = 6 Then Fecha_inicio = Fecha_inicio + 28
If Trabajador = 3 And Turno = 7 Then Fecha_inicio = Fecha_inicio + 28
If Trabajador = 4 And Turno = 1 Then Fecha_inicio = Fecha_inicio + 28
If Trabajador = 5 And Turno = 2 Then Fecha_inicio = Fecha_inicio + 28
If Trabajador = 6 And Turno = 3 Then Fecha_inicio = Fecha_inicio + 28
If Trabajador = 7 And Turno = 4 Then Fecha_inicio = Fecha_inicio + 28
If Trabajador = 1 And Turno = 6 Then Fecha_inicio = Fecha_inicio + 35
If Trabajador = 2 And Turno = 7 Then Fecha_inicio = Fecha_inicio + 35
If Trabajador = 3 And Turno = 1 Then Fecha_inicio = Fecha_inicio + 35
If Trabajador = 4 And Turno = 2 Then Fecha_inicio = Fecha_inicio + 35
If Trabajador = 5 And Turno = 3 Then Fecha_inicio = Fecha_inicio + 35
If Trabajador = 6 And Turno = 4 Then Fecha_inicio = Fecha_inicio + 35
If Trabajador = 7 And Turno = 5 Then Fecha_inicio = Fecha_inicio + 35
If Trabajador = 1 And Turno = 7 Then Fecha_inicio = Fecha_inicio + 42
If Trabajador = 2 And Turno = 1 Then Fecha_inicio = Fecha_inicio + 42
If Trabajador = 3 And Turno = 2 Then Fecha_inicio = Fecha_inicio + 42
If Trabajador = 4 And Turno = 3 Then Fecha_inicio = Fecha_inicio + 42
If Trabajador = 5 And Turno = 4 Then Fecha_inicio = Fecha_inicio + 42
If Trabajador = 6 And Turno = 5 Then Fecha_inicio = Fecha_inicio + 42
If Trabajador = 7 And Turno = 6 Then Fecha_inicio = Fecha_inicio + 42
End Sub