estoy trabajando con sqlite3 y usando filtrado por nombre, de hecho si uso un locate va bien si me lo encuentra sino lo encuentra se bloquea.
gracias la verdad es que es duro que pase esto apenas estoy usando algo sencillo.
os pongo el codigo que tengo completo a ver si por ahi hay algo, porque el disablecontrols no hace nada (que yo sepa)
Código Delphi
[-]procedure TForm1.FormCreate(Sender: TObject);
begin
sqlite3connection1.DatabaseName:='agenda.db3';
sqlite3connection1.Connected:=true;
sqlquery1.Active:=true;
sqlquery1.IndexFieldNames:='nombre';
sqlquery1.Filter:='nombre';
sqlquery1.filtered:=true;
end;
procedure TForm1.ComboBox1Change(Sender: TObject);
begin
edit1.Text:='';
sqlquery1.active:=false;
sqlquery1.filtered:=false;
sqlquery1.Indexfieldnames:=combobox1.Items[combobox1.itemindex];
sqlquery1.Filter:=combobox1.Items[combobox1.itemindex];
sqlquery1.Active:=true;
sqlquery1.filtered:=true;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
form2.ShowModal;
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
sqlquery1.Close;
sqlite3connection1.Close;
close;
end;
procedure TForm1.Edit1Change(Sender: TObject);
var
pr:string;
begin
begin
sqlquery1.Close;
sqlquery1.sql.Clear;
sqlquery1.SQL.text:='select nombre,telefono1,telefono2,celular,contacto from contactos where '+ combobox1.Items[combobox1.itemindex]+' like '+quotedstr('%'+edit1.text+'%');
sqlquery1.Open;
end
end;
Ya me funciona, parece que tuve un problema en el formcreate y no puse filtered, eso creo, pero ya funciona.
Cuando cambio el indexfieldbyname, tengo que borrar lo que hay en el edit porque sino si me da otravez el error, pero con limpiarlo cada vez que cambio ya lo tengo resuelto.
gracias amigos