Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #2  
Antiguo 28-02-2014
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola mantraxer21.
Cita:
Consulta. estoy realizando un formulario de "préstamo de libros" (biblioteca básica) y dentro de ello, tengo un control tEdit llamado "txtfiltro" que realiza una búsqueda exacta de un campo determinado en mi tibQuery (qConsultar).
Código SQL [-]
select * from libros
where
libros.isbn_lib like '%' || :xisbn || '%'
En realidad esa búsqueda no es exácta ya que trae todos los registros cuyos campos "ISBN_LIB" contengan los caracteres enviados en el parámetro ":XISBN". Es decir, eventualmente podría devolver una sola coincidencia, pero es un factor incidental.

Si deseas que la consulta realice una búsqueda exácta de un registro sería:
Código SQL [-]
SELECT * 
FROM LIBROS
WHERE LIBROS.ISBN_LIB = :XISBN

Cita:
Esta consulta me trae varios datos cómo: "Nombre Autor", "Título Libro", "Codigo ISBN", "Temática", "Ubicación del Libro".
Al usar "*" te devuelve todas las columnas de la tabla "LIBROS".

La consulta:
Código SQL [-]
SELECT * 
FROM LIBROS
WHERE LIBROS.ISBN_LIB = '%' || :XISBN || '%'
Es muy utilizada en búsquedas incrementales (no muy eficientes) la cuál podes podes implementar de este modo:

1) Un TIBQuery asociado a un TDataSource y un TDBGrid asociado al anterior.
Código:
TIBDataBase <- TIBTransaction 
          |   
          + <- TIBQuery <- TDataSource <- TDBGrid
2) Agregar un TEdit con este código en su evento OnChange:
Código Delphi [-]
procedure TForm1.Edit1Change(Sender: TObject);
begin
  with IBQuery1 do
  begin
    Close;
    SQL.Text:= 'SELECT * FROM LIBROS WHERE ISBN_LIB LIKE :XISBN';
    ParamByName('XISBN').AsString:= '%' + Edit1.Text + '%';
    Open;
  end;
end;
De ese modo a medida que vas ingresando caracteres en el Edit se va filtrando el resultado y se vé reflejado en el DBGrid. Pero no estoy seguro si satisface tu pregunta, estoy infiriendo la respuesta a partir de la consulta SQL de tu mensaje.

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
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
agregar filas y columnas DarkBlue MySQL 1 09-06-2011 20:21:45
Como enumerar filas de un DBGrid sin agregar otro campo Velia Varios 2 06-12-2005 08:58:57
Color DBGrid según grupo de filas Cabanyaler OOP 11 28-11-2005 08:22:32
Busqueda segun radiobutton seleccionado JoanKa Varios 11 25-01-2005 18:31:48
DBGrid filas de colores segun su contenido ramonibk Varios 2 24-08-2004 20:15:03


La franja horaria es GMT +2. Ahora son las 06:12:03.


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