Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 15-06-2007
Avatar de carlosegs11
carlosegs11 carlosegs11 is offline
Miembro
 
Registrado: jul 2004
Posts: 41
Poder: 0
carlosegs11 Va por buen camino
Talking Busqueda en un Query

Hola,

Incialmente hago la siguiente consulta:

Código Delphi [-]
  QUERY.SQL.Close;
  QUERY.SQL.Clear;
  QUERY.SQL.Add ('SELECT Cedula, Apellidos, Nombres FROM Terceros');
  QUERY.Open;

Si yo deseo ubicar una cédula en esta consulta existe algún comando como QUERY.Find o algo así que me ayude a ubicar ese registro?

Muchas gracias.

Carlos E.
Responder Con Cita
  #2  
Antiguo 15-06-2007
Avatar de gluglu
[gluglu] gluglu is offline
Miembro Premium
 
Registrado: sep 2004
Ubicación: Málaga - España
Posts: 1.455
Poder: 21
gluglu Va por buen camino
Locate sobre el DataSet asociado a la consulta.
__________________
Piensa siempre en positivo !
Responder Con Cita
  #3  
Antiguo 15-06-2007
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Código Delphi [-]
begin
  QUERY.Close;
  QUERY.SQL.Text:= 'SELECT Cedula, Apellidos, Nombres FROM Terceros';
  QUERY.Open;
end;
begin
  QUERY.Filter := 'Cedula = '+QuotedStr(Edit1.Text);
  QUERY.Filtered := True;
end;
Saludos
Responder Con Cita
  #4  
Antiguo 15-06-2007
chileno chileno is offline
Miembro
 
Registrado: jun 2005
Posts: 121
Poder: 19
chileno Va por buen camino
tambien puedes hacer esto.......

Código Delphi [-]
begin
  QUERY.Close;
  QUERY.SQL.ADD('SELECT Cedula, Apellidos, Nombres FROM Terceros WHERE Cedula =: pCedula');
  QUERY.PARAMBYNAME('pCedula') := EDIT1.TEXT;
  QUERY.Open;
end;

Última edición por chileno fecha: 15-06-2007 a las 20:48:18.
Responder Con Cita
  #5  
Antiguo 15-06-2007
sinaloenc sinaloenc is offline
Registrado
 
Registrado: jun 2007
Posts: 4
Poder: 0
sinaloenc Va por buen camino
conocer lo que filtro el adoquery

como puedo conocer lo que filtre con un adoquery en una busqueda ejemplo:


adoquery1.sql.add('selec clave from datos where usuario='+edit1.text+' ');
adoquery1.active:=true;

como puedo conocer cual fue la clave que filtro?
Responder Con Cita
  #6  
Antiguo 15-06-2007
Avatar de carlosegs11
carlosegs11 carlosegs11 is offline
Miembro
 
Registrado: jul 2004
Posts: 41
Poder: 0
carlosegs11 Va por buen camino
Gracias.

Ok... muchas gracias. Era lo que necesitaba.

Carlos E.
Responder Con Cita
  #7  
Antiguo 19-06-2007
kalabero kalabero is offline
Registrado
 
Registrado: jun 2007
Posts: 5
Poder: 0
kalabero Va por buen camino
al ejecutar filtro no me aparecen datos

Cuando intento realizar el filtro:

clientes.filter:= 'clinom =' +Quotedstr(edit1.text+'*')
clientes.filtered:=true;

por que no aparece nada en el dbgrid??
Responder Con Cita
  #8  
Antiguo 19-06-2007
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 29
jhonny Va camino a la famajhonny Va camino a la fama
Cita:
Empezado por kalabero
Cuando intento realizar el filtro:

clientes.filter:= 'clinom =' +Quotedstr(edit1.text+'*')
clientes.filtered:=true;

por que no aparece nada en el dbgrid??
Quitale el *; La verdad es que nunca he intentado lo que me imagino que intentas hacer en un filter, pero pruebalo con % en lugar del * a ver si te funciona.
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
Responder Con Cita
  #9  
Antiguo 29-06-2007
Avatar de Alejandrina
Alejandrina Alejandrina is offline
Miembro
 
Registrado: mar 2007
Ubicación: Medellin
Posts: 46
Poder: 0
Alejandrina Va por buen camino
Question

HOLA A TODOS...
ESTOY INTENTANDO HACER LO MISMO PERO ME MUESTRA UN ERRO DE 'FILTER EXPRESSION INCORRETLY TERMINATED'...
TENGO EL TDBGRID CON UN DATASOURCE APUNTADO A UN QUERY Y PRETENDO QUE CUANDO EL USUARIO DIGITE EL UN EDIT MUESTRE SOLO EL REGISTRO QUE ESTE DESEA...LO INTENTE DE LAS FORMAS ANTERIORES PERO NO ME DA...
QUE PUEDO ESTAR HACIENDO MAL?

Código:
procedure TFrmProgTallerEntrega.EdBusquedaEspecificaKeyPress(
  Sender: TObject; var Key: Char);
begin
 if key = #13 then
    begin
      key := #0;
      DMinformes.QInfHistoricos.Filter:='CODMOLDE'+QuotedStr(EdBusquedaEspecifica.Text+'%');
      DMinformes.QInfHistoricos.Filtered:=TRUE;
    end;
end;
DE ANTE MANO GRACIAS POR LA AYUDA
__________________
Alejandrina
Responder Con Cita
  #10  
Antiguo 29-06-2007
Avatar de fjcg02
[fjcg02] fjcg02 is offline
Miembro Premium
 
Registrado: dic 2003
Ubicación: Zamudio
Posts: 1.410
Poder: 22
fjcg02 Va camino a la fama
En un filtro no puedes meter un metacaracter ( % o * ) ya que no funciona como el like.

Saludos
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino -
Responder Con Cita
  #11  
Antiguo 29-06-2007
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 29
jhonny Va camino a la famajhonny Va camino a la fama
Primero que todo, te pido el favor de que no escribas en mayúsculas, pues la verdad es que no esta bien visto que lo hagas ya que representa un grito y además las mayúsculas a mi modo de ver y al de algunos cuantos son engorrosas de leer, asi que te agradecería si editaras tu mensaje...
En cuanto a tu duda, pues... seguramente es porque te falta un signo igual ( = ), trata con el siguiente codigo y nos cuentas:
Código Delphi [-]
 
procedure TFrmProgTallerEntrega.EdBusquedaEspecificaKeyPress(
  Sender: TObject; var Key: Char);
begin
 if key = #13 then
    begin
      key := #0;
      DMinformes.QInfHistoricos.Filtered:=False;
      DMinformes.QInfHistoricos.Filter:='CODMOLDE='+QuotedStr(EdBusquedaEspecifica.Text+'%');
      DMinformes.QInfHistoricos.Filtered:=True;
    end;
end;
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
Responder Con Cita
  #12  
Antiguo 29-06-2007
Avatar de eduarcol
[eduarcol] eduarcol is offline
Miembro Premium
 
Registrado: ago 2003
Ubicación: En los estados Zulia y Merida de Venezuela
Posts: 4.151
Poder: 25
eduarcol Va por buen camino
No se si la sugerencia de jhonny funciono, pero yo acostumbraba hacerla de esta manera

Código Delphi [-]
clientes.filter:= 'clinom >=' +Quotedstr(edit1.text+'aaa') and clinom <=' +Quotedstr(edit1.text+'zzz')
clientes.filtered:=true;
__________________
...Yo naci en esta ribera del arauca vibr@d0r
Soy hermano de la espuma,
de la garza, de la rosa y del sol...
Viva Venezuela
Responder Con Cita
  #13  
Antiguo 29-06-2007
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 29
jhonny Va camino a la famajhonny Va camino a la fama
Bueno, eduarcol, esa forma de hacerlo si que debe funcionar, pero solo con tres pequeños carácteres de mas ... asi:
Código Delphi [-]
 
clientes.filter:= 'clinom >=' +Quotedstr(edit1.text+'aaa') + 'and clinom <=' + Quotedstr(edit1.text+'zzz');
clientes.filtered:=true;

//Edito: Descubri que ademas de la comilla simple, falta un + y un punto y coma...
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/

Última edición por jhonny fecha: 29-06-2007 a las 21:49:49.
Responder Con Cita
  #14  
Antiguo 29-06-2007
Avatar de Alejandrina
Alejandrina Alejandrina is offline
Miembro
 
Registrado: mar 2007
Ubicación: Medellin
Posts: 46
Poder: 0
Alejandrina Va por buen camino
Question

Hola pido disculpas por lo de las mayúsculas nunca lo vi así pero lo tendre en cuenta gracias...
Bueno lo hice de ambas formas y ahora me saca un erro de 'Operation not aplicable'...????

Código:
      DMinformes.QInfHistoricos.filter:= 'CODMOLDE >=' +Quotedstr(EdBusquedaEspecifica.text+'aaa') + 'and CODMOLDE <=' + Quotedstr(EdBusquedaEspecifica.text+'zzz');
      DMinformes.QInfHistoricos.filtered:=true;
__________________
Alejandrina
Responder Con Cita
  #15  
Antiguo 29-06-2007
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 29
jhonny Va camino a la famajhonny Va camino a la fama
Si le colocas otros dos paréntesis?:
Código Delphi [-]
 
DMinformes.QInfHistoricos.filter:= '(CODMOLDE >=' +Quotedstr(EdBusquedaEspecifica.text+'aaa') + 'and CODMOLDE <=' + Quotedstr(EdBusquedaEspecifica.text+'zzz)');
DMinformes.QInfHistoricos.filtered:=true;
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
Responder Con Cita
  #16  
Antiguo 29-06-2007
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 29
jhonny Va camino a la famajhonny Va camino a la fama
Y si no, otros 4 mas?
Código Delphi [-]
 
DMinformes.QInfHistoricos.filter:= '((CODMOLDE >=' +Quotedstr(EdBusquedaEspecifica.text+'aaa)') + 'and (CODMOLDE <=' + Quotedstr(EdBusquedaEspecifica.text+'zzz))');
DMinformes.QInfHistoricos.filtered:=true;
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
Responder Con Cita
  #17  
Antiguo 29-06-2007
Avatar de Alejandrina
Alejandrina Alejandrina is offline
Miembro
 
Registrado: mar 2007
Ubicación: Medellin
Posts: 46
Poder: 0
Alejandrina Va por buen camino
Question

Gracias...pero ni con dos ni con cuatro me saca error ' ')' expected but nothing found'...lo cual no tiene sentido o si?

Código:
      DMinformes.QInfHistoricos.filter:='(CODMOLDE >='+Quotedstr(EdBusquedaEspecifica.text+'aaa')+'and CODMOLDE<='+Quotedstr(EdBusquedaEspecifica.text+'zzz)');
      DMinformes.QInfHistoricos.filtered:=true;
Gracias...
__________________
Alejandrina
Responder Con Cita
  #18  
Antiguo 29-06-2007
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 29
jhonny Va camino a la famajhonny Va camino a la fama
Ya entiendo, lo que sucedía es que las comillas estaban quedando por fuera de los paréntesis, la cosa debe ser asi:

Código Delphi [-]
 
DMinformes.QInfHistoricos.filter:= '((CODMOLDE >=' + Quotedstr(EdBusquedaEspecifica.text+'aaa') + ')' + 'and (CODMOLDE <=' + Quotedstr(EdBusquedaEspecifica.text+'zzz')+'))';
DMinformes.QInfHistoricos.filtered:=true;

//Edito: Al final estaba mal ubicado un paréntesis.
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/

Última edición por jhonny fecha: 29-06-2007 a las 23:19:56.
Responder Con Cita
  #19  
Antiguo 30-06-2007
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Perdon que me meta.
Para empezar la sentencia de un filtro es:
Código Delphi [-]
procedure TFrmProgTallerEntrega.EdBusquedaEspecificaKeyPress(
  Sender: TObject; var Key: Char);
begin
 if key = #13 then
    begin
      key := #0;
      DMinformes.QInfHistoricos.Filter:='CODMOLDE = '+QuotedStr(EdBusquedaEspecifica.Text);
      DMinformes.QInfHistoricos.Filtered:=TRUE;
    end;
end;
Hay que tener en cuenta que se pide un string, si es numerico el dato la sentencia varia, esto en ciertas bases de datos, suele pasar.
Saludos
Responder Con Cita
Respuesta



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
Hacer un Query de otro Query francisco260184 SQL 9 10-04-2007 03:46:18
Como hacer referencia a un query dentro de otro query? JuanBCT SQL 2 05-09-2006 18:35:25
query dentro de query jonmendi SQL 3 29-07-2005 15:13:33
Query restringir busqueda el_barto Conexión con bases de datos 12 24-06-2005 14:40:48
busqueda con un query davidgaldo Conexión con bases de datos 3 14-11-2003 02:14:09


La franja horaria es GMT +2. Ahora son las 18:03:58.


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