** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Access y VBA > Access y VBA
  Mensajes nuevos Mensajes nuevos RSS - Agendar citas como en Outlook
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Tema cerradoAgendar citas como en Outlook

 Responder Responder
Autor
Mensaje
hefest0 Ver desplegable
Nuevo
Nuevo
Avatar

Unido: 26/Marzo/2008
Localización: España
Estado: Sin conexión
Puntos: 22
Enlace directo a este mensaje Tema: Agendar citas como en Outlook
    Enviado: 20/Enero/2020 a las 18:02
Buenas tardes,
estoy desarrollando una base de datos de reuniones, y buscando ejemplos de BBDD de "taco" y similares, me he creado una agenda en access que me permite programar mis reuniones y citas perfectamente. Llevo con ella ya un tiempo y le he agregado colores según la categoría de la reunión, y quiero ir más allá simulando Outlook; me gustaría poder programar reuniones periódicas. Hasta ahora no he tenido problema con reuniones cada "x" días; cada "y" semanas o cada "z" meses. Ahora me gustaría generar reuniones semanales que se repitan un día concreto de la semana (lunes, martes, miércoles...) y también mensuales, el primer lunes de cada mes; el último jueves cada 3 meses...
Una vez calculadas estas fechas, ¿hay alguna forma de agregar estas series de fechas automáticamente a la tabla? Como estas reuniones/citas tienen el mismo contenido pero cambian las fechas, se pueden generar automáticamente los registros?
A ver si puede alguien orientarme se lo agradecería mucho,
Un saludo y gracias de antemano.
Arriba
xavi Ver desplegable
Administrador
Administrador
Avatar
Terrassa-BCN

Unido: 10/Mayo/2005
Localización: Catalunya ||||
Estado: Sin conexión
Puntos: 14720
Enlace directo a este mensaje Enviado: 20/Enero/2020 a las 19:12
Vaya por delante que, dado que insertarás registros en una tabla, deberás indicar para esas citas periódicas una fecha límite o un numero de repeticiones (se podría simular el "infinito" pero deberías tener una tabla de "citas infinitas" que, en cada vez que vayas a una determinada fecha, compruebe si deberían existir citas y, de no existir, crearlas: un faenón como alguien le de por probar si tu agenda llega al 9 de septiembre del 9999)

Para las que se repiten un día de la semana.
Un bucle Do..Loop dónde, por cada iteración:
- sumas los días necesarios a una fecha de referencia (función DateAdd)
- insertas un registro en la tabla
- evalúas si has superado la fecha límite o el numero de repeticiones por si te sales del bucle

Para las que se repiten con otro patrón... en algunos casos la misma técnica que en la anterior aunque me temo que deberás aplicar tácticas distintas en cada caso.
Ejemplo: primer lunes de mes
0. tomar un mes y año iniciales
(inicio bucle)
1. crear fecha de referencia como día 1 del mes y año inicial (función DateSerial).
2. comprobar el día de la semana por si es lunes (función WeekDay) 
3. si no lo fuera, sumar 1 día (función DateAdd) y volver al punto 2
4. En este punto es el primer lunes de mes: salvar la cita
5. Evaluar si hemos superado el límite por si salimos del bucle
6. sumar 1 al mes inicial y volver al punto 1
(fin bucle)

Espero que, como punto de partida te valga.

Un saludo
Xavi, un minyó de Terrassa

Mi web
Arriba
mounir Ver desplegable
Colaborador
Colaborador


Unido: 09/Febrero/2009
Localización: Asturias-España
Estado: Sin conexión
Puntos: 6479
Enlace directo a este mensaje Enviado: 20/Enero/2020 a las 21:03
Hola!

Tengo este ejemplo guardado a ver si le puedes sacar provecho

Outlook_Style_Calendar_V3c.zip
Un Saludo.
Arriba
hefest0 Ver desplegable
Nuevo
Nuevo
Avatar

Unido: 26/Marzo/2008
Localización: España
Estado: Sin conexión
Puntos: 22
Enlace directo a este mensaje Enviado: 20/Enero/2020 a las 22:08
Muchas gracias Xavi, me has dado unas buenas pautas para comenzar a currar. ¡Genial! ha he comenzado a limitar el tope de fecha; y también el cálculo de los períodos usando fix para buscar el valor entero  Thumbs Up menor en fracciones de tiempo (semanas/meses) con decimales cuando aplico repeticiones de dos, tres semanas/meses. Ahora probaré lo de los días de semana o mes. os pondré el código cuando lo tenga preparado.

Un saludo


Editado por hefest0 - 20/Enero/2020 a las 22:16
Arriba
hefest0 Ver desplegable
Nuevo
Nuevo
Avatar

Unido: 26/Marzo/2008
Localización: España
Estado: Sin conexión
Puntos: 22
Enlace directo a este mensaje Enviado: 20/Enero/2020 a las 22:10
Gracias Mounir, muy bueno tu ejemplo, buscaré formas de aplicarlo a lo que necesito. Un saludo y gracias!!!!
Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable