andres, vamos a pillar al toro por los cuernos
.
En la paleta BDE de delphi, haz clic sobre el componente TQuery y ponlo en tu ventana.
En la propiedad DatabaseName, elige donde tienes tu base de datos. Si has creado un "alias" en el Database Desktop, entonces usa la propiedad AliasName y elígelo de la lista (si esto te suena a chino, entonces usa la propiedad DatabaseName).
Ahora busca la propiedad SQL y haz clic en los 3 puntitos, escribe esto en esa ventana:
Código SQL
[-]
SELECT paciente, fecha, hora
FROM tabla_atencion_pacientes
ORDER BY fecha, hora, paciente
Nota: tabla_atencion_pacientes tienes que sustituirlo por el nombre real de tu tabla, lo puedes deducir del TTable que tienes, en su propiedad Tablename vendrá algo así: "Pacientes.DB" (la extensión .DB no hace falta que la pongas), por tanto tu tabla se llama pacientes.
Pon en esa ventana un TDatasource desde la pestaña "Data Access" se llamará Datasource1, en su propiedad Dataset, elige Query1.
En la propiedad Datasource del dbgrid elige el Datasource1 (con esto estamos ligando la consulta al grid para ver los resultados).
En el FormCreate de esa ventana, escribe:
Listo !!
Cuando ejecutes tu programa, ya tendrás ordenado por fecha, después por hora y después por Nombre alfabético de los pacientes.
¿Lo ves ahora más fácil? No era para tanto ¿verdad? Bien, pues ahora te toca a tí buscar un buen manual de SQL (que los hay a patadas en internet) y mirar cómo puedes ordenar descendentemente los datos, agrupar información para sacar totales, etc.
Saludos
Saludos.