Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 26-08-2013
Avatar de jafera
jafera jafera is offline
Miembro
 
Registrado: may 2007
Ubicación: Llagostera (Girona)
Posts: 582
Poder: 18
jafera Va por buen camino
Buscar un registro por diferentes campos

Buenas a todos.

Necesito buscar un registro dentro de una tabla pero por diferentes campos, os explico tengo un form con un grid en el que se van colocando los registros seleccionados, este form tiene un edit en el que tecleo el nombre, la licencia, el dni o el codigo uci y mediante una consulta filtro los registros que cumplan la condicion para poder elegir el que corresponda, por ejemplo si tecleo gomez, me manda en un for auxiliar todos los registros que empiezan por gomez, si tecleo 12345678 me busca primero en el nombre, como no lo encuentra tendria que buscar en el dni pero me devuelve la consulta en blanco.

Este es el código:
Código Delphi [-]
 
procedure TF_Inscripcions.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
        If (Key=#13)  then
        begin
                F_BuscarInscripcio:=TF_BuscarInscripcio.Create(Application);
                begin
                        F_BuscarInscripcio.BuscarCorredor.Close;
                        F_BuscarInscripcio.BuscarCorredor.SQL.Clear;
                        F_BuscarInscripcio.BuscarCorredor.SQL.Add('SELECT DORSAL, NOM_LLARG, DNI, LLICENCIA, CODIUCI, NACIO, CLUB, ABR_CLUB, PUBLICITAT, EDAT, CATEGORIA FROM CTR0003');
                        F_BuscarInscripcio.BuscarCorredor.SQL.Add('WHERE NOM_LLARG STARTING' +QuotedStr(Edit1.Text));
                        F_BuscarInscripcio.BuscarCorredor.SQL.Add('ORDER BY NOM_LLARG');
                        F_BuscarInscripcio.BuscarCorredor.Open;
                        If F_BuscarInscripcio.BuscarCorredor.Recordcount>0 then
                        Abort;
                end;
                begin
                        F_BuscarInscripcio.BuscarCorredor.Close;
                        F_BuscarInscripcio.BuscarCorredor.SQL.Clear;
                        F_BuscarInscripcio.BuscarCorredor.SQL.Add('SELECT DORSAL, NOM_LLARG, DNI, LLICENCIA, CODIUCI, NACIO, CLUB, ABR_CLUB, PUBLICITAT, EDAT, CATEGORIA FROM CTR0003');
                        F_BuscarInscripcio.BuscarCorredor.SQL.Add('WHERE LLICENCIA STARTING' +QuotedStr(Edit1.Text));
                        F_BuscarInscripcio.BuscarCorredor.SQL.Add('ORDER BY LLICENCIA');
                        F_BuscarInscripcio.BuscarCorredor.Open;
                        if F_BuscarInscripcio.BuscarCorredor.RecordCount>0 then
                        Abort;
                end;
                begin
                        F_BuscarInscripcio.BuscarCorredor.Close;
                        F_BuscarInscripcio.BuscarCorredor.SQL.Clear;
                        F_BuscarInscripcio.BuscarCorredor.SQL.Add('SELECT DORSAL, NOM_LLARG, DNI, LLICENCIA, CODIUCI, NACIO, CLUB, ABR_CLUB, PUBLICITAT, EDAT, CATEGORIA FROM CTR0003');
                        F_BuscarInscripcio.BuscarCorredor.SQL.Add('WHERE DNI STARTING' +QuotedStr(Edit1.Text));
                        F_BuscarInscripcio.BuscarCorredor.SQL.Add('ORDER BY DNI');
                        F_BuscarInscripcio.BuscarCorredor.Open;
                        if F_BuscarInscripcio.BuscarCorredor.RecordCount>0 then
                        Abort;
                end;
                begin
                        F_BuscarInscripcio.BuscarCorredor.Close;
                        F_BuscarInscripcio.BuscarCorredor.SQL.Clear;
                        F_BuscarInscripcio.BuscarCorredor.SQL.Add('SELECT DORSAL, NOM_LLARG, DNI, LLICENCIA, CODIUCI, NACIO, CLUB, ABR_CLUB, PUBLICITAT, EDAT, CATEGORIA FROM CTR0003');
                        F_BuscarInscripcio.BuscarCorredor.SQL.Add('WHERE CODIUCI STARTING' +QuotedStr(Edit1.Text));
                        F_BuscarInscripcio.BuscarCorredor.SQL.Add('ORDER BY CODIUCI');
                        F_BuscarInscripcio.BuscarCorredor.Open;
                        if F_BuscarInscripcio.BuscarCorredor.RecordCount>0 then
                end;
                F_BuscarInscripcio.Show;
        end;
end;
No se si los Abort esan bien colocados o donde puede estar el fallo, pero no me salta de un bloque a otro si el recordcount vale > 0

Gracias y saludos

Josep
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Buscar registro por parametros jafera OOP 6 22-06-2012 22:41:22
buscar registro camiz Conexión con bases de datos 1 29-05-2012 10:12:59
Como Grabar Campos En Tablas Diferentes EdgarJ .NET 0 13-02-2008 00:30:14
unir 2 consultas con campos diferentes.. sakuragi SQL 7 03-10-2005 10:12:28
Como buscar en diferentes tablas?? Sasuke_Cub Conexión con bases de datos 3 20-06-2005 10:40:19


La franja horaria es GMT +2. Ahora son las 17:19:30.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi