Pedro Luna Montalvo

23/11/2004 - 18:03 por Juan Carlos | Informe spam
Hola Pedro y gracias otra vez por el interes en la ayuda,bueno mira no es
que quiera dos fechas especificas si no especificar un mes entero, esdecir,
el datatimepicker solo nos da la opcion de una sola fecha y me incline por el
MonthCalendar que acepta mas dias (un rango) lo que necesito es eso un "mes
entero" selecionar el mes, mostrarlos en un listbox y luego calcular las
horas trabajadas por mis empleados un "reporte mensual", quiero ver todos los
dias del mes que eleji y luego calcularlos, por eso me hace falta especificar
un rango de fechas (mes).En el SQL: mi tabla tiene las columnas fechaid,
nombre, horaentrada,hora salida, totalhoras, y ahi se almacenan todos los
dias las horas trabajadas, por eso solo quiero especificar o escoger un mes,
de un solo empleado, y de ahi calcular su horas trabajadas por mes de cada
uno, bueno espero que de todas maneras te animes y me puedas ayudar. Gracias
Pedro y cuidate un amigo. Juan Carlos Carrasco.
 

Leer las respuestas

#1 Pedro Luna Montalvo, MVP
24/11/2004 - 03:04 | Informe spam
Saludos,

Ahora si el tema esta clarisimo...y te puedo sugerir algo mejor... :)


Yo resolveria esto asi:

1. Enviaria al procedimiento almacenado no un rango de fechas, sino una
fecha en particular. Una sola fecha cualquiera, que corresponda al mes y año
del cual quiero evaluar los datos.

2. Supongamos que este parametro que tiene la fecha es @i_fecha_calculo, con
el siguiente script podria calcular el primer y ultimo dia del mes al que
corresponde @i_fecha_calculo:

declare @t_inicio_mes datetime,
@t_fin_mes datetime

set @t_inicio_mes = dateadd(dd, 1 - day(@i_fecha_calculo),
@i_fecha_calculo )

set @t_fin_mes = dateadd(dd, -1, dateadd(mm, 1, @t_inicio_mes))

3. Una vez calculados el primer dia y el ultimo dia del mes, ya puedo
proceder a procesar los datos:

select .
from .
where ...
and campo_fecha between @t_inicio_mes and @t_fin_mes
..


Espero te sea util, y sino hazmelo saber.


Saludos
Pedro Luna, [MVP VB.NET]
Gye, Ecu

Preguntas similares