Agendar citas como en Outlook |
Responder |
Autor | |
hefest0
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Nuevo Unido: 26/Marzo/2008 Localización: España Estado: Sin conexión Puntos: 22 |
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.
|
|
xavi
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Administrador Terrassa-BCN Unido: 10/Mayo/2005 Localización: Catalunya |||| Estado: Sin conexión Puntos: 14720 |
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
|
|
mounir
Colaborador Unido: 09/Febrero/2009 Localización: Asturias-España Estado: Sin conexión Puntos: 6479 |
Enviado: 20/Enero/2020 a las 21:03 |
Un Saludo.
|
|
hefest0
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Nuevo Unido: 26/Marzo/2008 Localización: España Estado: Sin conexión Puntos: 22 |
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 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 |
|
hefest0
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Nuevo Unido: 26/Marzo/2008 Localización: España Estado: Sin conexión Puntos: 22 |
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!!!!
|
|
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 |