Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 30-01-2015
maxzama maxzama is offline
Miembro
NULL
 
Registrado: jun 2011
Posts: 126
Poder: 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
  #2  
Antiguo 30-01-2015
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola maxzama.

Al ser año el campo clave (clave primaria) como mencionas, sólo podrá existir un año por registro. Por lo que es mas simple usar un TDBLookupComboBox relacionado al campo año y tres TDBEdit en relación con los restantes campos.

Es decir, el combo deberá tener como valor en sus propiedades ListField y KeyField el nombre del campo "ANIO". Y los tres dbedits en sus respectivas propiedades DataField, los nombres de los campos "MES", "SEMANA" y "NOMBRE".

De ese modo, al seleccionar el año en el combo, automáticamente quedarán determinados los campos correspondientes.

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 30-01-2015 a las 18:08:00.
Responder Con Cita
  #3  
Antiguo 30-01-2015
maxzama maxzama is offline
Miembro
NULL
 
Registrado: jun 2011
Posts: 126
Poder: 13
maxzama Va por buen camino
Estoy utilisando DBLook y DBCombobox(para los siguientes campos).

y al seleccionar el año, deberia mostrarme los meses de ese año(de los que estan registrado), y al seleccionar el mes deberia mostrarme las semanas del mes seleccionado.

Pero aparece el siguiente error, al seleccionar el año.

Error Sistema: Could not convert variant of type (null) into type (OleStr).

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:=DBLookupComboBox1.Text;
      Dmodulo.Ano.Open;
      Edit6.Text:=Dmodulo.Ano.FieldByName('ANO').Value;


        Dmodulo.Reporte_Cobrado2.SQL.Clear ;
        Dmodulo.Reporte_Cobrado2.SQL.Add('SELECT * FROM REPORTE_COBRADO WHERE ANO=:A');
        Dmodulo.Reporte_Cobrado2.ParamByName('A').Value:=Edit6.Text;
        Dmodulo.Reporte_Cobrado2.Open;

        //Dmodulo.Reporte_Cobrado2.First;
             //while not Dmodulo.Reporte_Cobrado2.Eof do
                   Begin
                         DBComboBox1.Items.Add(DMODULO.Reporte_Cobrado2.FieldByName('Mes').AsString) ;
                          // Dmodulo.Reporte_Cobrado2.Next;
                   end;
end;
Responder Con Cita
  #4  
Antiguo 30-01-2015
maxzama maxzama is offline
Miembro
NULL
 
Registrado: jun 2011
Posts: 126
Poder: 13
maxzama Va por buen camino
Gracias. Por la ayuda. Me a servido, tambien para otra pantalla.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Problema Al Obtener Elementos En Combobox Ignacio Gentile OOP 4 29-06-2011 17:41:03
Como Añadir elementos a un combobox sidneyb OOP 2 15-04-2008 18:20:31
Recuperar los elementos seleccionados del ComboBox (AJAX) tramjauer HTML, Javascript y otros 0 22-08-2007 13:38:00
Dos elementos en un ComboBox BuenaOnda Varios 7 16-01-2007 17:21:26
Odenar elementos combobox dvlt OOP 1 06-06-2006 16:51:57


La franja horaria es GMT +2. Ahora son las 06:43:56.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi