PDA

Ver la Versión Completa : encontrar el siguiente en ado


jzginez
21-05-2004, 01:20:42
hola amigos tengo una base en acces a la cual acceso con ADO en delphi 6, en esta base tengo una tabla con los datos de los empleados, el problema es que en esta tabla el campo nombre incluye los apellidos y nombre del empleado, no puedo cambiar la estructura ya que esta base se usa para otro sistemas,
para no variar mi cliente quiere buscar como lo hace en acces ( :confused: supongo que a la mayoría nos piden hacer cosas como windows) es decir poder buscar con solo escribir una parte del campo sin importar si esta al principio, enmedio o final del campo, mi primera solución fue un locate

DatosRecursosHumanos.AdotPersonal.Locate(BuscarPor,Edit1.Text,[loPartialKey]);

pero loPartialKey me obliga a buscar por la parte inicial del campo, así que despues de buscar y probar varias opciones encontre que con
DatosRecursosHumanos.AdotPersonal.Locate(BuscarPor,'*'+Edit1.Text,[loPartialKey]);

de esta forma esta funcionando bien mi busqueda el problema que ahora tengo es que si por ejemplo en mi tabla hay mas de una persona con el mismo nombre o apellido (Juan, José, María, Ramírez, Hernandez, etc.) siempre me encuentra el mismo reguistro sin importar en que reguistro de la tabla estoy colocado, ya intente con LocateNext pero ADO no reconoce el comando, alguien me puede decir como encuentro el siguiente registro.

Gracias

guillotmarc
21-05-2004, 11:42:08
Hola.

¿ No puedes lanzar una segunda consulta del tipo : ?

select * from personal where nombre like '%' + :nombre + '%'

Entonces te podrás mover a tu voluntad por el resultado.

Saludos.