Ver Mensaje Individual
  #1  
Antiguo 29-04-2006
amadis amadis is offline
Miembro
 
Registrado: may 2005
Ubicación: San José, Colón, Entre Ríos, Argentina
Posts: 322
Reputación: 22
amadis Va por buen camino
Question ¿como usar OnFilterRecord? (para un filtro x nombre)

Que tal Gente.

Hace tiempo he posteado preguntando como filtrar o hacer locate sobre campos calculados (lookup) (en este caso nombres de clientes en una tabla con sus codigos y en otra tabla, en la que deseo filtrar numeros de cliente y otros datos de servicios que tiene ese cliente)

Habia solucionado todo trabajando con los ClientDataSet pero a medida que los registros crecen se hace sumamente lento (corriendo en un P4 2.4 512mb)

Si aplico un filtro sobre la tabla serviciosyclientes, en el campo cliente que es un String lookup tomado de la tabla cliente con su codigo me acusa error.
Lo mismo si hago un locate en el mismo campo.


Asi que buscando en el foro encontre que para busquedas avanzadas se usa OnFilterRecord pero no he logrado lo que quiero, mas bien no se usarlo.

Lo que yo necesito es filtrar la tabla serviciosyclientes (que esta conectada a un DBgrid )y mostrar allí solo los resultados del filtro.

Criterio de busqueda --> POR NOMBRE en un Edit y la idea es que en cada OnChange del Edit vaya actualizando el filtro. para lo cual en onchange puse FILTER:= false; y luego lo paso a true.

Pero no me muestra nada en la Grilla.

Abajo adjunto el codigo que en mi ignorancia armé.

Código Delphi [-]
procedure serviciosyclientes, FilterRecord(DataSet: TDataSet;
  var Accept: Boolean);
var
  nombre: String;
begin

   nombre := Edcli.text + '*';
   Accept := Dataset['Cliente'] = QuotedStr(nombre); 
    { Cliente es el campo String calculado mediante el campo codcli de la    tabla actual sobre el campo codigo de la tabla clientes]
 
end;


Les agradecería su ayuda, comentarios o cualquier orientacion que me puedan dar.

Cualquier forma de filtrar un lookup sera bien recibida

Gracias

Amadís

-------------------------------------
NO A LAS FABRICAS DE CELULOSA
Responder Con Cita