Ayuda con filtros
no se como utilizar los filtros en Deplhi necesito mostras los tatos de unas tablas en los DBComboBox .
un ejemplo: de la tabla pais al seleccionar digamos mexico me deben aparecer todos sus estados y si selecciono un estado(guadalajara), me debe mostrar todos los municipios de guadalajara , y asi hasta legar la localidad para esto tengo cuatro DBCombBox
un ejemplo: de la tabla pais al seleccionar digamos mexico me deben aparecer todos sus estados y si selecciono un estado(guadalajara), me debe mostrar todos los municipios de guadalajara , y asi hasta legar la localidad para esto tengo cuatro DBCombBox
Para poder contestarte necesito saber sobre que tipo de base de datos trabajas (Access, dbf, sql, mysql...) y
que api usas (BDE, ADO, MySQL...) para asi darte una solución. Yo personalmente no utilizo los TDBComboBox, utilizo los TComboBox que será lo que más fácil te resulte de hacer, ya que los filtros para cuatro TDBComboBox se basan en los parámetros de un TQuery que no son nada sencillos de utilizar y ademas mas lentos. Lo que necesito saber a parte de los datos anteriores es la estructura de la base de datos. Un saludote ;)
que api usas (BDE, ADO, MySQL...) para asi darte una solución. Yo personalmente no utilizo los TDBComboBox, utilizo los TComboBox que será lo que más fácil te resulte de hacer, ya que los filtros para cuatro TDBComboBox se basan en los parámetros de un TQuery que no son nada sencillos de utilizar y ademas mas lentos. Lo que necesito saber a parte de los datos anteriores es la estructura de la base de datos. Un saludote ;)
estoy utilizando un DBE y sql
te muestro una fomra de como creo yo le estoy dando solucion a el problea que tenia
acve_pais:=DBCpais.ItemIndex;//almacenando en una variable el Indice
acve_pais:=acve_pais+1;// contador suamndole +1
str(acve_pais,p);// asignadole el vlaor a p tipo string
Tbestado.filter:='cve_pais ='+p;
Tbestado.filtered:=true;
DBCestado.clear;
while not Tbestado.Eof do
begin
DBCestado.Items.Add(Tbestado.FieldByName('estado').AsString);
Tbestado.Next;
end;
no se si sea la forma correcta pero me esta funcionando tu que opinas
te muestro una fomra de como creo yo le estoy dando solucion a el problea que tenia
acve_pais:=DBCpais.ItemIndex;//almacenando en una variable el Indice
acve_pais:=acve_pais+1;// contador suamndole +1
str(acve_pais,p);// asignadole el vlaor a p tipo string
Tbestado.filter:='cve_pais ='+p;
Tbestado.filtered:=true;
DBCestado.clear;
while not Tbestado.Eof do
begin
DBCestado.Items.Add(Tbestado.FieldByName('estado').AsString);
Tbestado.Next;
end;
no se si sea la forma correcta pero me esta funcionando tu que opinas
Yo lo veo correcto, es una de las bastantes formas que existen de filtrar comboboxes, l unico que cambiaria yo de ese codigo es en vez de:
acve_pais:=acve_pais+1;
pondrÃa
inc(acve_pais);
o si no directamente
acve_pais:=DBCpais.ItemIndex+1;
Es solo porque soy un poco quisquilloso jeje :P si quieres restarle -1 usa la funcion "dec()"
acve_pais:=acve_pais+1;
pondrÃa
inc(acve_pais);
o si no directamente
acve_pais:=DBCpais.ItemIndex+1;
Es solo porque soy un poco quisquilloso jeje :P si quieres restarle -1 usa la funcion "dec()"
