PDA

Ver la Versión Completa : Busqueda en DBGRID


sistesc1
28-02-2009, 15:35:32
Hola a todos

Tengo un problema con un DBGRID, tengo una consulta de facturas con varias columnas como son (folio, proveedor, fecha, importe, etc.) estas pueden ser ordenas como desee el usuario, mi problema es que cuando el usuario este en una columna del dbgrid, por ejemplo folios, el usuario teclee un 6 y se mueva de registro al folio 6, si teclea nuevamente 6 se vaya al 60 después al 61 y así sucesivamente y cuando teclee 61 se vaya directo a este registro, es la misma funcionalidad que tienes en el explorador de Windows cuando tecleas las letras de un archivo y el foco se mueve al registro que inicia con esa letra pero si tecleas muy rápido 2 letras te busca por esas 2 letras.

Gracias a todos y espero haberme explicado :confused::confused::eek::eek:

ContraVeneno
28-02-2009, 16:21:19
busca información sobre "Locate"

amadis
02-03-2009, 12:34:17
Sistec1.

Lo que quieres hacer, lo logras con Locate como sugirió ContraVeneno.

Por otro lado. Para hacer el locate, según como hayas hecho la consulta puedes ver según que campo estás ordenando para buscar en ese campo el valor deseado con Locate.
Sino puedes crear una variable que almacene el valor del campo de ordenación activo para luego buscar.

Por otro lado, si al buscar en una busqueda incremental primero presiones el Numero 6, el puntero se posiciona en el registro 6, y si luego presionas otro 6 irá al 66 y no al 60 como tu quieres.

Locate te devuelve un boolean informando si encontró lo que buscaba.

sistesc1
02-03-2009, 22:26:56
Muchas gracias por la ayuda amadis y contraveneno, funciona perfecto para buscar un dato exacto, pero que pasa cuando el valor a buscar es una cadena no exacta al valor del registro, por ejemplo, como un like en SQL.

Saludos

Caro
03-03-2009, 13:35:49
Muchas gracias por la ayuda amadis y contraveneno, funciona perfecto para buscar un dato exacto, pero que pasa cuando el valor a buscar es una cadena no exacta al valor del registro, por ejemplo, como un like en SQL.


Hola, tendrías que cambiar el valor del tercer parametro del Locate y ponerle con la opción loPartialKey para que tu busqueda sea aproximada y para la busqueda exacta loCaseInsensitive.

Saluditos

sistesc1
03-03-2009, 15:34:33
Mil gracias Caro quedo resuelto!!!!!!!!!