Automatizar periodos de fechas para reportes

Que tal alonso
Tengo una forma que me genera ciertos reportes y en ella tengo un par de textbox en los que el usuario teclea las fechas iniciales y finales de los reportes, esta parte funciona muy bien, el detalle es que necesito agregarle un combobox u algo parecido que me muestre periodos de tiempo definidos y al seleccionar alguna de estas opciones se me cambien los valores de los textbox's pero de forma dinámica, por ejemplo en el combo box las opciones serian : Hoy, Ayer, Esta semana, Semana anterior, Este mes, Mes anterior, etc..
Y por ejemplo al seleccionar la opción '' semana anterior'' las fechas de los texbox's se establezcan desde el lunes de la semana anterior al sábado de la semana anterior ya que los domingos no se opera; o que al seleccionar ''Este mes'' me ponga del día primero del mes actual a la fecha actual; o que al seleccionar mes anterior, me ponga los valores del 1 de diciembre de 2009 al 31 de diciembre de 2009
De antemano te agradezco tu tiempo, te envío un saludo.

1 respuesta

Respuesta
1
Fácil, agregas el control combobox con las opciones indicadas, por ejemplo estableces la propiedad RowSourceType del control a 1 (Valor) e ingresar los siguientes valores en la propiedad RowSource del control tal y como te los escribo (separados por una coma) así:
Hoy, Ayer, Anteayer, Hace un mes
Ojo que es por ejemplo puedes establecer los valores que te parezcan.
Luego en ele InteractiveChange del control escribes el respectivo código así:
Do Case
    Case This.ListIndex = 1 (Hoy)
        Store Date() To Thisform.Text1.Value, Thisform.Text2.Value
    Case This.ListIndex = 2 (Ayer)
        Thisform.Text1.Value = Date() - 1
        Thisform.Text2.Value = Date()
     Case This.ListIndex = 3 (Anteayer)
        Thisform.Text1.Value = Date() - 2
        Thisform.Text2.Value = Date()  
     Case This.ListIndex = 4 (Hace un mes)
        Thisform.Text1.Value = Date() - 30
        Thisform.Text2.Value = Date() 
Endcase
Teniendo en cuenta el planteamiento de tu pregunta, algo como lo anterior soluciona el problema.
Perfecto alonso
Hasta ahí me queda muy claro, ¿pero por ejemplo si el periodo fuera semana anterior? ¿Pensando qué necesito que sea el reporte del anterior lunes al anterior sábado? ¿O el anterior mes? es decir el las fechas serian por ejemplo del 01/01/2010 al 31/01/2010
Gracias por tu pronta respuesta
Saludos
Sería posible, pero no es lo apropiado, de hecho es obsoleto pues si fuera para digitar la anterior semana, o el anterior mes entonces no necesitarías colocarle al usuario que digite la fecha desde y la fecha hasta en los textbox, simplemente cualquier usuario que necesite imprimir informes de un determinado mes por ejemplo del mes de noviembre del 2009 entonces ingresa 01/11/2009 y 30/11/2009 en eso nadie se pierde, lo más apropiado sería implementar un formulario con dos opciones, una que le permitiera escoger una de las cuatro semanas que tiene cada mes del año aproximadamente, el mes y el año, la otra opción que es la que precisamente tienes digitar la fecha desde y la fecha hasta.
Cualquier cosa me comentas.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas