Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #8  
Antiguo 17-02-2015
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
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
Cita:
Empezado por The Cid James Ver Mensaje
Ademas de esto quisiera que una vez seleccionado el pais me filtre el siguiete dbcombobox el estado o provincia de cada pais tomando como referencia el id del pais
Para lo que comentas resulta mas simple usar dos TComboBox:
Código Delphi [-]
procedure TForm1.FormCreate(Sender: TObject);
begin
  // Pais
  with tuQuery1 do
  begin
    Close;
    SQL.Clear;
    SQL.Add('SELECT ID, NOMBRE FROM PAIS');
    SQL.Add('ORDER BY NOMBRE');
    Open;
    while not Eof do
    begin
      ComboBox1.Items.AddObject(FieldByname('NOMBRE').AsString,
        Pointer(FieldByName('ID').AsInteger));
      Next;
    end;
    First;
    ComboBox1.ItemIndex:= 0;
  end;
end;

procedure TForm1.ComboBox1Change(Sender: TObject);
begin
  // Provincia
  with tuQuery2 do
  begin
    Close;
    SQL.Text:= 'SELECT ID, NOMBRE FROM PROVINCIA WHERE REF_PAIS = :PID';
    ParamByName('PID').AsInteger:= Integer(ComboBox1.Items.Objects[ComboBox1.ItemIndex] );
    Open;
    ComboBox2.Clear;
    while not Eof do
    begin
      ComboBox2.Items.AddObject(FieldByname('NOMBRE').AsString,
        Pointer(FieldByName('ID').AsInteger));
      Next;
    end;
    First;
    ComboBox2.ItemIndex:= 0;
  end;
end;

Pero mas eficiente es usar dos TDBLookupComboBox, ejemplo:
Código Delphi [-]
procedure TForm1.FormCreate(Sender: TObject);
begin
  // Pais
  with tuQuery1 do
  begin
    Close;
    SQL.Clear;
    SQL.Add('SELECT ID, NOMBRE FROM PAIS');
    SQL.Add('ORDER BY NOMBRE');
    Open;
  end;
  with DBLookupComboBox1 do
  begin
    ListSource:= DataSource1; // -> tuQuery1
    ListField := 'NOMBRE';    // a mostrar: nombre país
    KeyField  := 'ID'         // id pais
  end;
end;

procedure TForm1.DBLookupComboBox1Exit(Sender: TObject);
begin
  // Provincia
  with tuQuery2 do
  begin
    Close;
    SQL.Clear;
    SQL.Add('SELECT ID, NOMBRE, REF_PAIS');
    SQL.Add('FROM PROVINCIA WHERE REF_PAIS = :PID');
    SQL.Add('ORDER BY NOMBRE');
    ParamByName('PID').AsInteger:= DBLookupComboBox1.KeyValue;
    Open;
  end;
  with DBLookupComboBox2 do
  begin
    ListSource:= DataSource2; // -> tuQuery2
    ListField := 'NOMBRE';    // a mostrar: nombre provincia
    KeyField  := 'ID'         // id provincia
  end;
end;

Saludos
__________________
Daniel Didriksen

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



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
DBComboBox Sole_l Conexión con bases de datos 5 13-04-2009 21:20:37
sql con dbcombobox soloriv SQL 6 14-11-2005 10:08:55
uso del dbcombobox ercrizeporta Conexión con bases de datos 1 26-06-2005 01:59:16
dbcombobox?? davidgaldo Conexión con bases de datos 2 27-02-2004 10:25:14
DBComboBox NuncaMas Conexión con bases de datos 4 17-10-2003 21:03:50


La franja horaria es GMT +2. Ahora son las 04:01:54.


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