Ver Mensaje Individual
  #4  
Antiguo 10-01-2008
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Reputación: 27
Delphius Va camino a la fama
Hola XaSu,
La otra opción a considerar es que en vez de usar un TTable emplees un TQuery. Con este componente puedes lanzar una consulta de este tipo:

Código SQL [-]
select distinct fecha from tu_tabla

Tengo que admitir que no recuerdo bien en este momento si Access permite la cláusula distinct. Al menos en SQL Server funciona... no recuerdo si en Access. La idea es de antemano extraer los datos y dejar al motor que se encargue de la tarea sucia: eliminar los repetidos.

Ya sólo lo que debes hacer es recorrer el conjunto de registros de el DataSource e ir agregandolos al ComboBox.

O, si no deseas hacerlo de ese modo puedes optar por emplear un StringList y llenarlo con el contenido del campo adecuado. Pero claro, para que esto funcione debes tener seteado lo siguiente:

Código Delphi [-]
Lista := TStringList.Create;
Lista.Sorted := true; //que estén ordenados... requisito indispensable.
Lista.Duplicates := dupIgnore; // que ignore los duplicados

... aqui llenas el TStringList...

// Asociamos el contenido del stringlist al combo...
ComboBox1.Items.Assign(Lista);

// y por último liberamos el TStringList;

Lista.Free;

En lo personal prefiero la opción del TQuery. Me parece que es la más flexible y sencilla de llevar a cabo. Yo me baso en la idea de que si de antemano podemos limitar el contenido a mostrar... pues hacerlo.

Y si recién estás aprendiendo... Te recomiendo la lectura de el libro (pdf) La Cara Oculta de Delphi 4, disponible en el FTP del club y unos ejemplos que puedes encontrar en la wiki.

Espero que se entienda la idea.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita