Ver Mensaje Individual
  #13  
Antiguo 28-04-2008
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Reputación: 25
Delphius Va camino a la fama
Hola aanil,
Sin ver tus nuevos avances no te sabría como ayudarte.

Como te he dicho antes, el "truco" está en trabajar con los eventos de los controles y en base a esto ir armando la consulta por partes.

Una vez que el usuario haya especificado sus criterios se concatenan las partes para formar una única consulta.

He preparado un ejemplo similar al enfoque que te he dicho, la diferencia es que en los eventos adecuados voy seteando ciertas banderas con un valor TRUE o FALSE y al final existe una función GenerateSQL que va leyendo dichas banderas y dependiendo de su valor va guardando en un string adecuado uno u otro valor.

De cualquier manera el proceso termina con una concatenación de strings y se obtiene una consulta SQL ya sea con o sin condiciones where.

He cambiado ligera e intencionalmente un poco la "filosofía" para que descubras donde está tu problema.

He visto la imagen... y puedo decirte que el diseño de emplear TCheckBox no es el más adecuado para condiciones mutuamente excluyentes, para ello es mejor emplear un RadioGroup. Por ejemplo, al elegir Sector uno puede optar por Público o Privado... pero no por ambos.

En sintesis, la idea es:
1. Tener en una variable, campo o propiedad un string que almacene la SQL sin condiciones.
2. Tener por cada condición posible una variable string para guardar el valor.
3. Cuando el usuario cambia o elije algún criterio se altera el string correspondiente a dicha condición.
4. Cuando se valida la operación se genere la SQL final.

Espero que ahora se entienda la idea.
Archivos Adjuntos
Tipo de Archivo: zip demo.zip (4,6 KB, 13 visitas)
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita