Muy buenas a todos. Mi nombre es Javier y es mi primer tema en este foro, foro que sigo desde hace años porque sois todos unos cracks y realizáis una labor increíble.
Mi problema es el siguiente:
estoy desarrollando una aplicación para el control y gestión de una piscina de una comunidad de vecinos. Una de las necesidades que se plantea es el conocer la hora de máxima asistencia de usuarios a la piscina de una fecha elegida en un datetimepicker.
He implementado una consulta que me muestra datos de usuarios que estaban presentes en la piscina en el día seleccionado:
//mostramos los usuarios presentes en la fecha establecida datamodule1.ZQuery_Busqueda.SQL.Clear; datamodule1.ZQuery_Busqueda.SQL.Add('SELECT USUARIO,HORA_ENTRADA,HORA_SALIDA,ID_USUARIO,NOMBRE,APELLIDOS,CODIGO_SOCIO,TIPO_USUARIO, INVITADOS'); datamodule1.ZQuery_Busqueda.SQL.Add('case CARNET when 1 then :F4 when 0 then :F5 end AS CARNET,'); datamodule1.ZQuery_Busqueda.SQL.Add('FROM REGISTRO_ACTIVIDAD INNER JOIN USUARIO ON REGISTRO_ACTIVIDAD.USUARIO = USUARIO.ID_USUARIO'); datamodule1.ZQuery_Busqueda.SQL.Add('AND HORA_ENTRADA = :F1'); datamodule1.ZQuery_Busqueda.ParamByName('F1').AsDate := datetimepicker1.Date; datamodule1.ZQuery_Busqueda.ParamByName('F4').AsString := 'SI'; datamodule1.ZQuery_Busqueda.ParamByName('F5').AsString := 'NO'; datamodule1.ZQuery_Busqueda.Active := True; dbgrid1.Columns[0].FieldName := 'HORA_ENTRADA'; dbgrid1.Columns[1].FieldName := 'HORA_SALIDA'; dbgrid1.Columns[2].FieldName := 'NOMBRE'; dbgrid1.Columns[3].FieldName := 'APELLIDOS'; dbgrid1.Columns[4].FieldName := 'CODIGO_SOCIO'; dbgrid1.Columns[5].FieldName := 'TIPO_USUARIO'; dbgrid1.Columns[6].FieldName := 'INVITADOS'; dbgrid1.Columns[7].FieldName := 'CARNET';
El siguiente paso, como os he comentado, es agrupar los usuarios presentes en ese día según la hora de entrada de los mismos y poder saber los usuarios activos por hora, calcular el pico máximo de asistencia y representarlo gráficamente.
Sinceramente ando un poco atascado, así que os agradezco de antemano vuestra ayuda.
Un saludo .