PDA

Ver la Versión Completa : Orenar por horas


zafio
05-02-2006, 20:11:43
Hola a todos, hace tiempo que consulto este foro, y por fin me ha llegado
el momento de preguntar algo:

Tengo una pequeña basede datos en paradox7, y la estoy programando en delphi 5. La cual la visualizo en pantalla mediante un DBgrid. Al DBgrid le aplico un filtro para que me muestre solo los rejistros culla fecha sean igual que la fecha actual. Ahora lo que me interesaria es ordenar el resultado de ese filtro por horas, y de modo ascendente. Con eso yo me conformo, luego yo ya intentaria que en el DBgrid me mostrase todos los registros cullas horas sean iguales o mayores que la hora actual.


Un saludo y gracias por anticipado.

marcoszorrilla
05-02-2006, 20:41:44
Pues la cosa es fácil, según parece tienes una tabla a la cual le aplicas un filtro.

Entonces si tienes un campo de tipo Hora, supongamos que se llama Hora y que creas un índice por dicho campo que lo llamas horas.

Antes de cargar los datos en la rejilla, es decir antes de abir el formulario que contiene la rejilla.

MiTabla.IndexName:='Horas';

Y así te los mostrará ordenados por horas.

Un Saludo.

zafio
08-02-2006, 22:16:14
Hola, gracias por responder, pero no me funciona lo que me comentas. Me dice que me hace falta un indice o algo asi. Para intentar crear un indice me he mirado este enlace (http://www.clubdelphi.com/foros/showthread.php?t=25744&highlight=crear+indice+campo) pero no lo he logrado sulucionar. Es mi primera bae de datos, por tanto es normal que me cueste un poco... bueno, si sabeis como solucionarlo o me quereis sujerir algo pues adelante... de todas forosmas mañana con más tiempo posteare el codigo fuente, y asi sera más facil ver en que fallo.

Muchas gracias a todos.

marcoszorrilla
08-02-2006, 22:29:29
Pues mira, te cojes el DatabaseDeskTop abres tu tabla pulsas en la opción reestructurar se supone que la tabla no está abierta desde Delphi en este momento sino no te dejara hacer los cambios.

Lo primero tienes que declarar una clave primaria en esa tabla si es que no la tienes, como es lógico será un campo que no se tenga que repetir nunca, en caso de que no lo tengas crea un autoincrementado y le haces clave primaria, luego vas a la opción índices secundarios y creas uno por el campo horas, ten en cuenta que el índice no te dejará llamarlo igual que el nombre del campo.

Por ejemplo si el campo se llama horas, el índice puede llamarse hora, pero no igual.

El resto ya está explicado, no obstante sino llegas a solucionarlo, sigues preguntando.

Un Saludo antielitista.

zafio
09-02-2006, 17:19:34
Muchas gracias, ahora si que me ordena como yo quiero.