Como crear un formulario en Access con varios campos de registros por cada mes del año

Me han solicitado en mi trabajo hacer una base de datos unos datos de productividad de cada persona que tengo a mi cargo, pero no se como hacer dicho formulario ya que inicialmente tengo que crear una tabla.

En la tabla tengo que introducir el nombre de usuario etc etc

Y lo que necesito es tenga varios campos como productividad, calidad, errores, etc por cada mes del año y todo ello en el mismo formulario como si fuera en una pagina de Excel.

1 respuesta

Respuesta
2

Te digo, sin saber como lo quieres, más o menos lo que haría. Una tabla Empleados con los datos personales de él. Y otra tabla, llamada, por ejemplo Detalles con los campos, Productividad, etc. Con ellas hago un formulario con subformulario. Al formulario le añadiría un botón(aunque no haría falta)

Cuando pulsara el botón, me quedaría

La imagen no dá para todos los meses. Luego cuando llegara Enero del 2020, pulsas el botón, te crearía los registros del año siguiente y te los mostraría en el subformulario.

El código del botón es

Private Sub Comando7_Click()
DoCmd.SetWarnings False
Dim i As Byte, a As Integer
a = Year(Date)
For i = 1 To 12
DoCmd.RunSQL "insert into detalles(idempleado,mes,año)values(idempleado," & i & "," & a & ")"
Next
Me!Detalles.Form.RecordSource = "select * from detalles where idempleado=" & Me.IdEmpleado & " and año=" & a & ""
End Sub

Pero sería conveniente saber como lo quieres.

Muchas Gracias Icue

Lo que me piden es como esto

Ya tengo creada una tabla con los datos de los usuarios, nombre, equipo, fecha de entrada, fecha salida, tipo de contrato, etc

Y ahora en este formulario he tenido que crear otra tabla llamada calidad y productividad.

y como puedes observar en esta tabla he tenido que crear muchos campos

Productividad Enero, Productividad Febrero... Productividad Diciembre, Errores Enero, Errores Febrero, etc y me salen muchísimos campos y no se si lo estoy haciendo de forma correcta pero así es como lo quieren

También me piden que saque una gráfica en el mismo formulario de la media de cada campo del usuario con respecto a la media de todas las tareas que entran en el departamento, vamos un follón que no tengo ni idea de como hacerlo.

Si quieres te puedo pasar la base de datos que empecé ayer.

Muchas gracias por tu tiempo.

Saludos

Vamos por partes. Una cosa es como introduzcas, de una manera cómoda, los datos, para eso están los formularios y otra lo que quieras presentar a alguien, para eso están los informes, que le puedes poner los "adornos" que quieras.

Por otro lado, si sólo pones el nombre del mes, el formulario o informe sólo te serviría para un año. Por eso te proponía lo de poner el año, pero...

Si tengo una tabla Usuarios como(faltan campos pero da igual para el ejemplo)

Y la tabla Trabajo en la que por problemas de espacio para la imagen sólo he puesto 6 meses.

Con las tablas Usuarios y Trabajo hago un formulario con subformulario

Cuando pulses el botón

El código del botón es

Private Sub Crear_Click()
DoCmd.SetWarnings False
DoCmd.RunSQL "insert into trabajo(usuario,Actividad)values(usuario,""Productividad"")"
DoCmd.RunSQL "insert into trabajo(usuario,Actividad)values(usuario,""Calidad"")"
DoCmd.RunSQL "insert into trabajo(usuario,Actividad)values(usuario,""Errores"")"
DoCmd.RunSQL "insert into trabajo(usuario,Actividad)values(usuario,""GIO"")"
DoCmd.RunSQL "insert into trabajo(usuario,Actividad)values(usuario,""Tramitacion"")"
DoCmd.RunSQL "insert into trabajo(usuario,Actividad)values(usuario,""Llamadas"")"
DoCmd.RunSQL "insert into trabajo(usuario,Actividad)values(usuario,""Puntualidad"")"
Me!Trabajo.Form.RecordSource = "select * from trabajo where usuario='" & Me.Usuario & "'"
End Sub

Si fuera necesario se podría poner el formulario tal como lo pones en la imagen.

Con respecto a lo de la gráfica, honestamente, veo difícil que tal como lo planteas te salga un gráfico medianamente aceptable. Otra cosa sería si en la tabla Trabajo sólo tuvieras un campo (llámalo, por ejemplo MesLetra o MesNúmero), ya que este último se podría poner en el eje de abscisas para ver la evolución mensual

Te puedo enviar mi base de datos y lo ves a ver si es un follón como lo estoy haciendo, es que no tengo ni idea de programar.

Como me indicas en tu ejemplo no se como poner los campos de la tabla ya que como lo veo solo habría 12 campos de meses del año y los campos de productividad, calidad, llamadas, etc

Mi correo es [email protected]

Si la mandas, en el asunto del mensaje pon tu alias Bull5f, ya que si no sé quien me escribe ni los abro.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas