** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Access y VBA > Access y VBA
  Mensajes nuevos Mensajes nuevos RSS - PLANNING DE VACACIONES
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Tema cerradoPLANNING DE VACACIONES

 Responder Responder
Autor
Mensaje
Fernando Ver desplegable
Nuevo
Nuevo


Unido: 13/Marzo/2015
Localización: Madrid
Estado: Sin conexión
Puntos: 7
Enlace directo a este mensaje Tema: PLANNING DE VACACIONES
    Enviado: 28/Mayo/2024 a las 11:39
Buenos días.

Tengo una tabla, con las fechas del año y el personal de la empresa que está de vacaciones (uno por registro, con lo que hay días que coincide más de una persona).

Sobre esta tabla, he montado un formulario (con 42 subformularios) para ver qué personas son las que están de vacaciones día a día (además, me debe mostrar la semana en la que inicia el mes, que esto sí me sale en condiciones):

(Estoy intentando pegar una imagen del formulario, pero no veo la opción para ello). Para que os hagáis una idea, es una cuadrícula de 7 días de ancho (los días de la semana, de lunes a domingo) por 6 de alto (las semanas que puede ser que "ocupe" un mes). En la variable idDia se almacena el día del mes (en formato dd/mm/aa) y aparece en la cabecera de los subformularios subDiaxx.

El problema que tengo es que, en cada día, me presenta todo el personal de la tabla (aunque he detectado que me va "corriendo" los nombres según el día).

En el subformulario de los días, intento filtrar el personal por el cuadro de texto en el que está la fecha, pero me da error.

El código que tengo en el formulario principal, en el evento "al cargar", para que se vayan abriendo los 42 subformularios es el siguiente:

-----------------------------------------------
    Dim i As Long
    Dim x As Long
    Dim Formulario As Form
    Dim SubFormulario As SubForm
    Dim InicioCalendario As Integer
    Dim PrimerDíaMes As Date
    PrimerDíaMes = Format(CDate("01/" & mes & "/" & Año), "dd/mm/yyyy")
    For x = 1 To 42
        Set SubFormulario = Me.Controls("subDia" & Format(x, "00")) 'este es el nombre de los 42 subformularios
'        Dim Filtro As String
'        Filtro = "SELECT * From CalendariGuardies where idDia = #" & Format(Me.idDia, "dd/mm/yy") & "#"
'        SubFormulario.Form.RecordSource = Filtro
        SubFormulario.Form.Recordset.MoveFirst
    Next x
    Set SubFormulario = Nothing
    InicioCalendario = DatePart("y", PrimerDiaMes, vbMonday) - DatePart("w", PrimerDiaMes, vbMonday) + 1
    Set Formulario= Me
    x = 1
    For i = InicioCalendario To InicioCalendario + 41
        Set SubFormulario= Frm.Controls("subDia" & Format(x, "00")) 
        SubFormulario.Form.Recordset.Move 0
        SubFormulario.Form.Recordset.Move i - 1
        x = x + 1
    Next i
    Set SubFormulario= Nothing
    Set Formulario= Nothing
    x = 0
-----------------------------------------------

Si quito las instrucciones que están como comentario (en verde) me da error. 

He probado varias combinaciones, pero me salen todas las fechas como 01/01/24 y, entonces, sí que me sale sólo la persona que está de vacaciones ese día.

Me podéis ayudar?

Gracias!!!


Editado por Fernando - 28/Mayo/2024 a las 14:50
Arriba
mounir Ver desplegable
Colaborador
Colaborador


Unido: 09/Febrero/2009
Localización: Asturias-España
Estado: Sin conexión
Puntos: 6521
Enlace directo a este mensaje Enviado: 29/Mayo/2024 a las 11:59
Hola!

Te dejo un ejemplo de Planificar Vacaciones (Holiday Planner) en inglés. a ver si lo puedes adaptar a tus necesidades.
Un Saludo.
Arriba
Fernando Ver desplegable
Nuevo
Nuevo


Unido: 13/Marzo/2015
Localización: Madrid
Estado: Sin conexión
Puntos: 7
Enlace directo a este mensaje Enviado: 29/Mayo/2024 a las 12:01
Echo un vistazo y te digo.

Muchas gracias!!!
Arriba
Fernando Ver desplegable
Nuevo
Nuevo


Unido: 13/Marzo/2015
Localización: Madrid
Estado: Sin conexión
Puntos: 7
Enlace directo a este mensaje Enviado: 29/Mayo/2024 a las 12:36
Gracias de nuevo, Mounir.

NO es exactamente lo que busco, pero puedo acoplarlo a lo que necesito.

Mi idea era que, en un formulario con el mes completo, y con varios subformularios (uno por día) pudiera ver qué personal es el que está de vacaciones día a día en esos subformularios. Es que no puedo adjuntar una captura de lo que ya tengo...

Sólo me sale un cuadrito (que adjunto, por si acaso tú lo pudieras ver) 

Pero, como te digo, esto me podrías servir. 

Saludos.
Arriba
mounir Ver desplegable
Colaborador
Colaborador


Unido: 09/Febrero/2009
Localización: Asturias-España
Estado: Sin conexión
Puntos: 6521
Enlace directo a este mensaje Enviado: 29/Mayo/2024 a las 17:47
Hola!

Hace tiempo hice algo parecido con una aplicación que tenía.
Vuelve a abrir el enlace de arriba >>>>>>> Se llama "Vacaciones".

Al pulsar una fecha te abre formulario continuo, seleccionas empleado motivo de permiso y lo visualizas todos en un informe.

Espero te sirva.
Un Saludo.
Arriba
Fernando Ver desplegable
Nuevo
Nuevo


Unido: 13/Marzo/2015
Localización: Madrid
Estado: Sin conexión
Puntos: 7
Enlace directo a este mensaje Enviado: 13/Junio/2024 a las 13:20
Muchas gracias de nuevo!!!

Entre todo lo que me mandaste, he logrado sacar algo que me ha servido.

Se puede cerrar el hilo.

Saludos!!!
Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable