PDA

Ver la Versión Completa : consulta de registros iguales


gabynuñez
27-07-2005, 23:57:38
hola a todos


Mi pregunta es la siguiente tengo una aplicacion en delphi 7, con mysql y zeos...

y necesito realizar una busqueda por apellido... el inconveniente es que se da el caso que existan varios apellidos iguales.... y mi aplicacion solo me muestra el primero que consigue....

Quiero mediante un navigator o una grilla poder apreciar todos las registros que coinsidan en apellido... y escojer con el que deseo trabajar...

No se como hacerlo.. me podrian ayudar?????????

vtdeleon
28-07-2005, 04:46:33
Saludos
Nunca he utilzado los componentes Zeos, pero creo qeu es casi lo mismo?(corrijanme si no es cierto:))
Que utilizas para la busqueda o localizacion? Sentencias SQL o los metodos del Dataset?
y necesito realizar una busqueda por apellido... Llevandome de esto, puede usar el metodo Locate del Dataset con la opcion de loPartialKey
Si es sentencia SQL Puede usar el comodin % para estoSelect * from personas
where Apellido like %'NO SEQUE'% Espero haber ayudado
Suerte

gabynuñez
28-07-2005, 13:44:15
Si la busqueda la hago con SQL.... y m ela realiza bien.


El problema es que al haber varios apellidos iguales me muestra solo uno de ellos (el primero que consigue) y deseo que me muertre mediante una grilla o con un navigator todos los apellidos q existan en la tabla y coinsidan con mi referencia....

vtdeleon
28-07-2005, 14:00:42
Saludos

Muestranos tu sentencia!
Con la sentencia que te di en mi post anterior, hace lo que pides(arreglandolo a tu condiciones y tablas)

maeyanes
28-07-2005, 15:59:34
Creo que vtdeleon no te ha entendido del todo... jejeje

Para lo que quieres puedes usar un form modal. Le pones un TEdit y un TDBGrid y tal vez un TButton para realizar la búsqueda. También necesitarias un TQuery (o como se llame este componente en las Zeos).

Tu query lo puedes armar como:

select Nombre, Apellidos from Personas
where Apellidos like :SearchStr


En el evento OnClick del TButton de búsqueda haces algo como:

// Algún código de preparación...
Query.ParamByName('SearchStr').Value := QuotedStr('%' + Edit1.Text);
Query.Open


También necesitas ponerle 2 TButton: Aceptar (mrOk) y Cancelar (mrCancel), para aceptar o cancelar el diálogo de búsqueda.

Ya con esto tienes más o menos un diálogo de búsqueda con un Grid donde se muestran todos los resultados que cumplan con la cadena de búsqueda.


Espero que esta pequeña explicación te sirva de algo.


Saludos...

vtdeleon
28-07-2005, 18:32:00
[/B]Saludos

Quiero mediante un navigator o una grilla poder apreciar todos las registros que coinsidan en apellido... y escojer con el que deseo trabajar...
El problema es que al haber varios apellidos iguales me muestra solo uno de ellos (el primero que consigue) y deseo que me muertre mediante una grilla o con un navigator todos los apellidos q existan en la tabla y coinsidan con mi referencia....Segun entendi:Tiene una sentencia SQL que solo devuelve un solo registro de varios que deberian salir,Supongo que esto lo afirmas porque lo vez en un Dbgrid..no?? Pense que estaria usantoselect * from empleados
where apellidos='fernandez'Esto devolvera solo los registro que en el campo Apellido contenga fernandez nada mas. Entonces te escribi una sentencia que, acomodandola a tu caso, puedes usarla
Nunca me imagine que era lo planteado por Maeyanes

gabynuñez
29-07-2005, 13:51:04
ok...


Gracias por sus respuestas

ya por fin pude resolverlo