Ver Mensaje Individual
  #5  
Antiguo 07-10-2006
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Reputación: 31
Lepe Va por buen camino
La linea en rojo nunca entrará:

Cita:
Empezado por Pedro-Juan
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 = Table1 then Table1.FindNearest([cTexto]);

//Pero esto no:
if FormMain.DbGrid1.DataSource = Query1 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 y un saludo
Porque estas comparando un TDatasource con un TDataset,
la línea correcta sería:
Código Delphi [-]
   if FormMain.DbGrid1.DataSource.Dataset = Query1 then

Lo normal es conectar la tabla a un TDataSource, y despues el Grid al TDatasource. Si se hace de otras formas, hay que tener cuidado.

PD: Por favor, encierra el código entre

[ delphi ]
aqui vuestro codigo
[ /delphi ]

(sin espacios dentro de los corchetes) Así consigues que respete el identado y aparezca las palabras reservadas en negrita y colores.

Código Delphi [-]
procedure Saludos();
begin 
   ShowMessage(' Un saludo y hasta luego');
end;
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita