Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 07-07-2004
mgaray mgaray is offline
Miembro
 
Registrado: nov 2003
Posts: 32
Poder: 0
mgaray Va por buen camino
Question problemas al querer filtrar con ADO

Hola:
Mi problema se genera coando quiero utilizar la propiedad filter de una ADOQuery, le pongo la siguientes lineas:
dm.qryctginv.Filtered := true;
dm.qryctginv.Filter := 'mi_descri = ' + QuotedStr(txtopc.Text + '%');
y el resultado es que me deja vacio el DBgrid donde muestro los datos y nunca filtra. Anteriormente habia utilizado el BDE y no me causo ningun problema, ahora no se cual pueda ser la falla.
De antemano gracias por su ayuda.
Responder Con Cita
  #2  
Antiguo 07-07-2004
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
begin
Adoquery1.filter:='Titulo Like '+QuotedStr(Edit1.Text+'*');
Adoquery1.Filtered:=True;
end;

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #3  
Antiguo 07-07-2004
mgaray mgaray is offline
Miembro
 
Registrado: nov 2003
Posts: 32
Poder: 0
mgaray Va por buen camino
Me manda un error

Cita:
Empezado por marcoszorrilla
Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
begin
Adoquery1.filter:='Titulo Like '+QuotedStr(Edit1.Text+'*');
Adoquery1.Filtered:=True;
end;

Un Saludo.
Antes que nada gracias por la contestación, tal vez te parezca muy simple mi duda pero al adaptar tus lineas en mi codigo delphi levanta una excepcion Eoleexception, que dice que los argumentos no son validos o argumentos fuera de rango, perdona de nuevo la molestia, no se si sea cuestion de configurar el Adoquery tal vez alguna propiedad que me este haciendo falta, en fin, ojala y quieras guiarme de nuevo.
Gracias
Responder Con Cita
  #4  
Antiguo 07-07-2004
mgaray mgaray is offline
Miembro
 
Registrado: nov 2003
Posts: 32
Poder: 0
mgaray Va por buen camino
Envia un mensaje de error

Antes que nada gracias por la contestación, tal vez te parezca muy simple mi duda pero al adaptar tus lineas en mi codigo delphi levanta una excepcion Eoleexception, que dice que los argumentos no son validos o argumentos fuera de rango, perdona de nuevo la molestia, no se si sea cuestion de configurar el Adoquery tal vez alguna propiedad que me este haciendo falta, en fin, ojala y quieras guiarme de nuevo.
Gracias
Responder Con Cita
  #5  
Antiguo 08-07-2004
^TxTeZ^ ^TxTeZ^ is offline
Registrado
 
Registrado: jul 2004
Posts: 8
Poder: 0
^TxTeZ^ Va por buen camino
Bueno, creo que el problema de que no te filtrara nada es por que segun lo que tu has hecho:

dm.qryctginv.Filtered := true;
dm.qryctginv.Filter := 'mi_descri = ' + QuotedStr(txtopc.Text + '%');


estas poniendo la propiedad Filtered a true antes de aplicar el filtro.

La secuencia de codigo seria:

ADOQuery1.Filtered := False;
ADOQuery1.Filter := 'Mensaje LIKE ' + QuotedStr(Edit1.Text + '%');
ADOQuery1.Filtered := True;


A mi asi me ha funcionado
Responder Con Cita
  #6  
Antiguo 08-07-2004
mgaray mgaray is offline
Miembro
 
Registrado: nov 2003
Posts: 32
Poder: 0
mgaray Va por buen camino
Thumbs up gracias por su consejos

Hola:
Les agradezco su ayuda, parte del problema es que cuando le pasaba el argumento al filter la caja de texto no contenia texto esto lo genera cuando utilizo el evento onkeypress, pero una vez que se arregle este problema funciono de maravilla quedando como sigue:
dm.qryctginv.Filtered := false;
dm.qryctginv.Filter := 'mi_descri like ' + QuotedStr(txtopc.Text + '%');
dm.qryctginv.Filtered := true;
la solucion ya ustedes me la habian dado solo que hay que tener precaución en eso de la cadena vacia sobre todo cuando uno utiliza como yo en este caso una caja de texto para pasar la cadena a filtrar.

Muchas gracias por todo.

Última edición por mgaray fecha: 08-07-2004 a las 17:28:32. Razón: Cerrar Hilo
Responder Con Cita
  #7  
Antiguo 08-07-2004
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
begin

  if Length(edit1.text)> 0 then
  begin
  Adoquery1.filter:='Titulo Like '+QuotedStr(Edit1.Text+'*');
  Adoquery1.Filtered:=True;
  end
  else
  ShowMessage('Cadena vacía inténtelo de nuevo');

end;

Un Saludo.

__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
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


La franja horaria es GMT +2. Ahora son las 13:46:54.


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