|
Responder
|
| Autor | |
Fernando
Nuevo
Unido: 13/Marzo/2015 Localización: Madrid Estado: Sin conexión Puntos: 7 |
Tema: PLANNING DE VACACIONESEnviado: 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 |
|
![]() |
|
mounir
Colaborador
Unido: 09/Febrero/2009 Localización: Asturias-España Estado: Sin conexión Puntos: 6521 |
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.
|
|
![]() |
|
Fernando
Nuevo
Unido: 13/Marzo/2015 Localización: Madrid Estado: Sin conexión Puntos: 7 |
Enviado: 29/Mayo/2024 a las 12:01 |
|
Echo un vistazo y te digo.
Muchas gracias!!!
|
|
![]() |
|
Fernando
Nuevo
Unido: 13/Marzo/2015 Localización: Madrid Estado: Sin conexión Puntos: 7 |
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.
|
|
![]() |
|
mounir
Colaborador
Unido: 09/Febrero/2009 Localización: Asturias-España Estado: Sin conexión Puntos: 6521 |
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.
|
|
![]() |
|
Fernando
Nuevo
Unido: 13/Marzo/2015 Localización: Madrid Estado: Sin conexión Puntos: 7 |
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!!!
|
|
![]() |
|
Responder
|
|
|
Tweet
|
| Ir al foro | Permisos de foro ![]() Usted No puede publicar nuevos temas en este foro Usted No puede responder a temas en este foro Usted No puede borrar sus mensajes en este foro Usted No puede editar sus mensajes en este foro Usted No puede crear encuestas en este foro Usted No puede votar en encuestas en este foro |