activeseba
|
| Posted: 09/29/2005, 3:15 PM |
|
My grid receive 3 param, id_country-id_state-id_type and the sql sintax is:
id_typo = param and
id_country = param and
id_state = param
but if the user not select for example id_tipo, i want than my sql sintax be a:
id_country = param and
id_state = param
ignore the line of id_type, some body can help me.
Thanks in advance
I speak spanish only, sorry for my bad english.
|
|
|
 |
Benjamin Krajmalnik
|
| Posted: 09/29/2005, 3:54 PM |
|
Cuando asignas los aprametros a tu clausula de "where", si uno de los
parametros no tiene valor el constructor dinamico de la clausula de "where"
no lo va a crear, a menos que le hayas puesto un valor de default o activado
la opcion de usar nulo.
|
|
|
 |
activeseba
|
| Posted: 09/29/2005, 4:10 PM |
|
Gracias benjamin por tu ayuda, eso de la opcion de usar nulo no lo puedo activar, porque en la construccion de la consulta en el tipo de fuente le tengo que poner SQL, porque necesito agregar la sentencia de group by, esta es la consulta:
SELECT usuarios.id_usuario AS usuarios_id_usuario, fist_name, last_name, nom_tipo, nom_country, count(*) as images
FROM ((usuarios LEFT JOIN tipos ON
usuarios.id_tipo = tipos.id_tipo) LEFT JOIN country ON
usuarios.country = country.id_country) LEFT JOIN images ON
images.id_usuario = usuarios.id_usuario
WHERE usuarios.id_tipo = {s_id_tipo}
AND country LIKE '%{s_country}%'
AND fist_name LIKE '%{s_fist_name}%'
GROUP BY usuarios.id_usuario, fist_name, last_name, nom_tipo, nom_country
ORDER BY fist_name
gracias de antemano
|
|
|
 |
Benjamin Krajmalnik
|
| Posted: 09/30/2005, 12:29 PM |
|
OK. La resolucion es simple.
La razon por la que creo no esta funcionando como pensaba es por la manera
en la cual estas construyendo tos clausulas.
Yo lo haria distintamente. Usa Table para tu data source, usando el query
builder. Mete tus clausulas de "where" en el query builder.
Ahora, en el evento "Before Execute Select", puedes modifcar la clausula de
"where" agregandole tus clausulas de Grop By y Order By.
De esta manera, el "cerebro" que crea la clausula de Where dinamoicamente no
va a agregar los componentes sin datos.
Si quieres ver la clausula de Where lo puedes hacer utilizando "echo".
|
|
|
 |
|