![]() |
orden en un listado
Hola,
trabajo con Paradox y delphi 5. Tengo una tabla "alumno" cuyo indice es un código. Tengo también un dbgrid donde muestro la lista de alumnos. Lo que quiero es que el orden de los alumnos venga dado por el nombre y no por el codigo. Cómo hago eso? Es que claro, al insertar por ejemplo un nuevo alumno, me lo coloca en el ultimo lugar de la lista y yo quiero que quede colocado por orden alfabetico. Cómo puedo hacerlo? Muchas gracias |
Lo primero tendrás que crear si aún no lo tienes un índice por apellidos y activarlo antes de mostrar la rejilla.
MiTabla.IndexName:='Apellidos'; Con esto al dar un alta se colocará en donde le corresponda por apellidos. Un Saludo. |
se me olvido decir que la tabla alumno es una tabla detalle que depende de una tabla curso. En indexname tengo puesto "curso" para que me enseñe los alumnos de cada curso. Entonces...como lo hago? hay alguna forma? :confused:
|
Pues mientras sea detalle no porque el índice activo obligatoriamente tiene que ser el que case con la tabla maestra que según dices es código.
Si sueltas la relación maestro detalle, entonces podrías ordenarla como quisieras en este caso podrías simular la relación maestro detalle por ejemplo mediante un filtro. Un Saludo. |
se un poco más concreto porfa :) estoy muy perdida con lo que dices. Entendi eso de que no puede haber otro indice activo que no sea el que lo relacione con la tabla maestro pero entonces como lo hago sin perder esa relación maestro/detalle? cuanto más concreto seas mejor.
muchas graciassss |
Lo que quiero decir es que desactives la relación maestro-detalle y entonces simulas dicha relación mediante un filtro:
MiTablaAlumnos.Filter:='Codigo ='+ QuotedStr(MiTablaMaestraMiCampo.Value) MiTablaAlumnos.Filtered:=True; Un Saludo. |
otra opción sería utilizar un Inner Join de SQL para hacer el listado y, en el Order By de la sentencia, poner la ordenación deseada
|
Cadetill gracias por contestar. Y con eso que me propones tendria que quitar también la relacion maestro/detalle? Me puedes poner especificamente el código sql q tengo que usar?
Muchas gracias |
veamos
necesitas un TQuery (o el componente de conexión que utilices) luego, en su propiedad SQL pones algo así Código:
select campo1, campo2,...,campoN |
con la venia de cadetill, me permito la osadia de añadir algo más
Código:
select campo1, campo2,...,campoN Desc = orden descendente Lógicamente si ordenas por un campo único (como el código) no hará caso al resto de ordenación ;) Saluditos |
Cita:
|
La franja horaria es GMT +2. Ahora son las 01:11:16. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi