sionks
17-04-2008, 22:18:02
Buenas, Estoy un poco atorado con respecto a un problema que se me ha presentado al estar realizando un sistema, la pequeña dificultad es la siguientes:
Estoy Agregando un Combobox, El caul contendra en si los resultados que contenga una consulta tipo busqueda de una tabla, es decir mientras yo voy insertando caracteres en el Combobox, automaticamente los items del combo se vayan actualizando, mostrando solo los que coincidan con dicha busqueda, por la aprte de la busqueda no tengo problema, el detalle es como hacer para que los items, se vayan actualizando.
Aqui les pongo la forma en la que realizo mis busqueda: espero me pueda auxiliar:
procedure TFMain.CBClienteKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
var i:Integer;
palabras: TStringList;
consulta: String;
begin
//CBCliente es el ComboBox
//Clientes es la Consulta con la Tabla
if CBCliente.Text = '' then
begin
CBCliente.Clear;
consulta:='Select Nombre from Clientes';
Clientes.close;
Clientes.sql.clear;
Clientes.sql.add(consulta);
Clientes.open;
end
else begin
palabras := TStringList.Create;
palabras.CommaText := CBCliente.Text;
Clientes.close;
Clientes.sql.clear;
for i:=0 to palabras.Count-1 do
begin
consulta:=consulta+'and Nombre like "%'+palabras.Strings[i]+'%"';
end;
Delete(consulta,1,3);
consulta:='Select Nombre from Clientes where'+consulta;
Clientes.SQL.Add(consulta);
Clientes.Open;
end;//else
//AQUI TENDRIA QUE IR LA ACTUALIZACION DE LOS ITEMS
end;
Estoy Agregando un Combobox, El caul contendra en si los resultados que contenga una consulta tipo busqueda de una tabla, es decir mientras yo voy insertando caracteres en el Combobox, automaticamente los items del combo se vayan actualizando, mostrando solo los que coincidan con dicha busqueda, por la aprte de la busqueda no tengo problema, el detalle es como hacer para que los items, se vayan actualizando.
Aqui les pongo la forma en la que realizo mis busqueda: espero me pueda auxiliar:
procedure TFMain.CBClienteKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
var i:Integer;
palabras: TStringList;
consulta: String;
begin
//CBCliente es el ComboBox
//Clientes es la Consulta con la Tabla
if CBCliente.Text = '' then
begin
CBCliente.Clear;
consulta:='Select Nombre from Clientes';
Clientes.close;
Clientes.sql.clear;
Clientes.sql.add(consulta);
Clientes.open;
end
else begin
palabras := TStringList.Create;
palabras.CommaText := CBCliente.Text;
Clientes.close;
Clientes.sql.clear;
for i:=0 to palabras.Count-1 do
begin
consulta:=consulta+'and Nombre like "%'+palabras.Strings[i]+'%"';
end;
Delete(consulta,1,3);
consulta:='Select Nombre from Clientes where'+consulta;
Clientes.SQL.Add(consulta);
Clientes.Open;
end;//else
//AQUI TENDRIA QUE IR LA ACTUALIZACION DE LOS ITEMS
end;