Ver Mensaje Individual
  #17  
Antiguo 14-05-2011
Rofocale Rofocale is offline
Miembro
 
Registrado: mar 2010
Posts: 182
Reputación: 17
Rofocale Va por buen camino
hola mira en mi table categorias y unidades tengo lo sgte

categorias
----------

clave
nombre
fecha
ccategorias


unidades
-----------
clave
nombre
fecha
nombre2 ( este ultimo es como si fuera en el tuyo ucategorias)



Código Delphi [-]
procedure TfrmArticulos.FiltrarComboBox;
begin
  with dmDatos.qryConsulta do
  begin
    Close;
    SQL.Clear;
    SQL.Add('SELECT u.nombre AS unombre FROM unidades u ,categorias c');
    SQL.Add('WHERE u.nombre2 = c.ccategorias AND u.nombre2 =');
    SQL.Add('(SELECT c.ccategorias FROM categorias c WHERE c.nombre = :nomb)');
    ParamByName('nomb').AsString := cmbCategorias.Text;
    Open;
    cmbUnidadTipo.Clear;
    while not dmDatos.qryConsulta.Eof do
    begin
      cmbUnidadTipo.Properties.Items.Add(FieldByName('unombre').AsString);
      Next;
    end;
    cmbUnidadTipo.ItemIndex:= 0;
    Close
  end;
end;

ah y uso combobox de devexpress seria en el evento propertieschange
Código Delphi [-]
procedure TfrmArticulos.cmbCategoriasPropertiesChange(Sender: TObject);
begin
FiltrarCombobox;
end;
y en el formshow

Código Delphi [-]
begin
   with dmDatos.qryConsulta do
   begin
    Close;
    SQL.Clear;
    SQL.Add('SELECT * FROM categorias ' ORDER BY nombre');
    Open;
    while not Eof do
    begin
      cmbCategorias.Properties.Items.Add(FieldByName('nombre').AsString);
   
      Next;
    end;
    cmbCategorias.ItemIndex:= 0;
    Close;
    end;
    with dmDatos.qryConsulta do
    begin
    Close;
    SQL.Clear;
    SQL.Add('SELECT * FROM unidades  ORDER BY nombre');
    Open;
    while not Eof do
    begin
      cmbUnidadTipo.Properties.Items.Add(FieldByName('nombre').AsString);
      
      Next;
    end;
    cmbUnidadTipo.ItemIndex:= 0;
    Close;
  end;
  FiltrarComboBox;
end;

algo debo estar haciendo mal porque porque al seleccionar licores no me filtra y mas bien ya aparecen triplicados todos en el segundo combobox
Responder Con Cita