Ver Mensaje Individual
  #1  
Antiguo 30-01-2015
maxzama maxzama is offline
Miembro
NULL
 
Registrado: jun 2011
Posts: 126
Reputación: 13
maxzama Va por buen camino
Obtener elementos únicos en Combobox

hola.

Herramientas:

- Delphi xe2
- Firebird (IBexpert)

Tengo una tabla llamada(datos), que el campo clave es año. los sigientes campos, de esta tabla es Mes, Semana, Nombre.

Problema:

En mi pantalla tengo 3 combobox. Necesito que al seleccionar el año que seria(Combobox1), me salga los datos del campo mes en el(Combobox2), sin repetir el mismo dato ( es decir: Ejemplo1) . Y al seleccionar mes, me salga el campo semana en el(Combobox 3) sin repetir el mismo dato.

Ejemplo1: Se registra a cada nombre: un año, un mes, una semana(y cada mes tiene 3 semana, asi que se ingresa semana1, semana 2, semana3 del mes de enero. semana 4, semana 5, semana 6 del mes de febrero, etc.).

Y una semana tiene 50 nombre. // Asi que no quiero que redunde la misma palabra 50 veces.ej: enero, enero, etc...

Asi como lo muestro en la imagen. //Como como hago en este caso...

1.jpg

Codigo:

Código Delphi [-]
begin
    combobox6.Clear;
      Dmodulo.Ano.SQL.Clear ;
      Dmodulo.Ano.SQL.Add('select * from ANOS where ANO=:A');
      Dmodulo.Ano.ParamByName('A').Value:=combobox5.Text;
      Dmodulo.Ano.Open;
      Edit6.Text:=Dmodulo.Ano.FieldByName('ANO').Value;


    Dmodulo.Reporte_Cobrado.SQL.Clear ;
        Dmodulo.Reporte_Cobrado.SQL.Add('select * from REPORTE_COBRADO where ANO=:A');
        Dmodulo.Reporte_Cobrado.ParamByName('A').Value:=Edit6.Text;
        Dmodulo.Reporte_Cobrado.Open;
        Dmodulo.Reporte_Cobrado.First;
             while not Dmodulo.Reporte_Cobrado.Eof do
                   begin                                                        // <>Combobox5.AddItem['']
                       if (DModulo.Reporte_Cobrardo.FieldByName('Mes').AsString = Combobox5.text) then
                       begin


                       end
                       else
                       begin
                           combobox6.Items.Add(DMODULO.Reporte_Cobrado.FieldByName('Mes').AsString) ;
                       end;
                       Dmodulo.Reporte_Cobrado.Next;
                   end;
end;

Espero sus respuesta por favor y gracias...
Responder Con Cita