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 13-10-2008
pablopessoa pablopessoa is offline
Miembro
 
Registrado: may 2008
Ubicación: Argentina
Posts: 162
Poder: 16
pablopessoa Va por buen camino
problema con prop. filter en un adoQuery

Hola a todos!! tengo un problema usando un AdoQuery y queria comentarlo a ver si me podian ayudar.
Mi usuario introduce mediante un formulario que tiene checkbox los parametros por los que se va a filtrar la tabla, por ejemplo, si el hace click en el checkbox "Telefono" se van a buscar casas que tengan telefono. pero el problema es que tengo que "anidar" condiciones en el filter, y cuando quiero anidarlos me sale un error que dice que los argumentos estan fuera de rango o en conflicto con otros. les posteo el codigo a ver si estoy haciendo algo mal.

Código Delphi [-]
filtrado:='';
    if chgarage.Checked then
        filtrado:=filtrado + '(IdTGarage = 6)';
    if Chtelefono.Checked then
        filtrado:=filtrado + '(Telefono = false)';
    ShowMessage(filtrado);
    with DataModule1 do
    begin
        casas.Active:=False;
        casas.Filtered:=False;
        casas.Filter:=filtrado;
        casas.Filtered:=True;
        casas.Active:=True;
        DBGrid1.DataSource:=DSCasas;
    end;

Muchas Gracias!!
Responder Con Cita
  #2  
Antiguo 13-10-2008
luisgutierrezb luisgutierrezb is offline
Miembro
 
Registrado: oct 2005
Ubicación: México
Posts: 925
Poder: 19
luisgutierrezb Va por buen camino
porque te falta el "AND" en la condicion, si anidas te quedaria algo asi como:
'(IdTGarage = 6)(Telefono = false)'

y debe quedaro algo como:
'(IdTGarage = 6) and (Telefono = false)'
Responder Con Cita
  #3  
Antiguo 13-10-2008
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 22
Caro Va por buen camino
Hola, como te dice luisgutierrezb te falta el AND, tu condición mas o menos quedaría asi.

Código Delphi [-]
  filtrado:='';
  banderita := False; 
  if chgarage.Checked then
   begin  
    filtrado := '(IdTGarage = 6)';
    banderita := True;
   end;
  if Chtelefono.Checked then
   if banderita then
     filtrado:=filtrado + ' AND (Telefono = false)'
   else
     filtrado:=filtrado + '(Telefono = false)';
 
  ..................
  ..................

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
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
Problemas con Filter y ADOQuery martinc5 Conexión con bases de datos 1 13-05-2008 17:42:08
Problema con Filter de ADO pelaorb68 Varios 7 17-04-2007 00:34:52
Problema con Filter en RxMemoryData agustibaldo Tablas planas 4 09-02-2007 16:04:10
problema con Filter en paradox seken Conexión con bases de datos 8 13-09-2004 23:04:16
problema con filter superhopi Varios 9 05-06-2003 13:52:45


La franja horaria es GMT +2. Ahora son las 04:27:02.


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