Pedro-Juan
07-10-2006, 13:23:59
Hola a todo/as
Cómo hacer búsquedas en un Query, por ejemplo con FindNearest(), como en una Table?
Imaginaros una consulta cuyo resultado es muy grande, por ejemplo los clientes de una ciudad con 600, 700 o más registros de resultado de la consulta. Dentro de esa consulta, de los clientes de esa ciudad, queres buscar uno al modo de FindNearest(), Cómo hacerlo?
FormMain.Edit1.OnChange(Sender);
var cTexto: String;
begin
cTexto := FormMain.Edit1.Text;
//Esto funciona, se posiciona en el más cercano a medida que se plusan teclas
if FormMain.DbGrid1.DataSource = DataSourceTable1 then Table1.FindNearest([cTexto]);
//Pero esto no:
if FormMain.DbGrid1.DataSource = DataSourceQuery1 then Query1.FindNearest([cTexto]);
end;
Para el Query da un error de undeclared identifier
Locate sí funcioma con Query, pero no es eso lo que quiero, quiero que se posicione a medida que se pulsan teclas.
Muchas gracias a todos/as, ahora funciona con esto
//...
uses db;
//...
if FormMain.DbGrid1.DataSource = DataSourceQuery1 then
with Query1 do Locate('cCampo', cTexto, [loCaseInsensitive, loPartialKey]);
Cómo hacer búsquedas en un Query, por ejemplo con FindNearest(), como en una Table?
Imaginaros una consulta cuyo resultado es muy grande, por ejemplo los clientes de una ciudad con 600, 700 o más registros de resultado de la consulta. Dentro de esa consulta, de los clientes de esa ciudad, queres buscar uno al modo de FindNearest(), Cómo hacerlo?
FormMain.Edit1.OnChange(Sender);
var cTexto: String;
begin
cTexto := FormMain.Edit1.Text;
//Esto funciona, se posiciona en el más cercano a medida que se plusan teclas
if FormMain.DbGrid1.DataSource = DataSourceTable1 then Table1.FindNearest([cTexto]);
//Pero esto no:
if FormMain.DbGrid1.DataSource = DataSourceQuery1 then Query1.FindNearest([cTexto]);
end;
Para el Query da un error de undeclared identifier
Locate sí funcioma con Query, pero no es eso lo que quiero, quiero que se posicione a medida que se pulsan teclas.
Muchas gracias a todos/as, ahora funciona con esto
//...
uses db;
//...
if FormMain.DbGrid1.DataSource = DataSourceQuery1 then
with Query1 do Locate('cCampo', cTexto, [loCaseInsensitive, loPartialKey]);