hola tngo una consulta en sql... cargada en un dataset... bueno el tema es asi:
- mi consulta posee 3 parametros que estan manipulados por 3 CheckBox con 3 ComboBox...
- quiero q me ralize la consulta cuando estan los 3 checkBox activados o ninguno o dos o uno.. osea evaluando todas las posibiliadaes...
- no lo puedo hacer andar, solo me tira los datos de mi consulta si estan los 3 CheckBox activados...
Alguien tiene un ejemplo de como hacerlo?
les dejo el contenido de mi boton q me tira las consultas
Código Delphi
[-]procedure TClientesPorVendedor.Button1Click(Sender: TObject);
var
sQ: WideString;
sFiltro: string;
begin
Screen.Cursor := crHourGlass;
adsReporte.Close;
try
begin
sQ:= ' SELECT Clientes.idCliente, Clientes.sRazonSocial, Clientes.sDireccion, Clientes.idLocalidad, Clientes.sTelefono, Localidades.sNombre'+
' FROM Clientes LEFT JOIN Localidades ON Clientes.idLocalidad = Localidades.idLocalidad'+
' WHERE 1 = 1'+
' AND idVendedor ='+intToStr(dblcVendedor.KeyValue)+
' AND idLista = '+intToStr(dblcListaPrecio.KeyValue)+
' AND Clientes.idLocalidad = '+intToStr(dblcLocalidad.KeyValue);
adsReporte.CommandText := sQ;
adsReporte.Open;
end
finally
Screen.Cursor := crDefault;
end;
if (CheckBox1.Checked) then
sFiltro := 'idVendedor = '+intToStr(dblcVendedor.KeyValue)
else
sFiltro := '';
if (CheckBox3.Checked) then
begin
if Length(sFiltro) > 0 then
sFiltro := sFiltro + ' AND ';
sFiltro := sFiltro + 'idLista = '+intToStr(dblcListaPrecio.KeyValue)
end
else
sFiltro := '';
if (CheckBox2.Checked) then
begin
if Length(sFiltro) > 1 then
sFiltro := sFiltro + ' AND ';
sFiltro := sFiltro + 'idLocalidad = '+intToStr(dblcLocalidad.KeyValue)
end
else
sFiltro := '';
adsReporte.Filtered := false;
adsReporte.Filter := sFiltro;
adsReporte.Filtered := true;
end;
pido disculpas si el hilo no esta iniciado donde deberia ser.. desde ya muchas gracias