Dificultada com Variável em Query...
Na query abaixo, precisava que a Variável VarVend só filtrasse o campo CodVendedor que é Integer, somente os que estiverem vazios, mas não sei como fazer pois eu só sei fazer da forma abaixo, filtrando os q estão com 0 (zero), só que os campos não foram preenchidos então ficam fazios.
With TbPedidos do
begin
SQL.Clear;
SQL.Add(´Select * from Pedidos´);
SQL.Add(´CodVendedor =:VarVend´);
end;
TbPedidos.ParamByName(´VarVend´).AsInteger:=0;
//esse filto como devo fazer para que traga os vazios?
With TbPedidos do
begin
SQL.Clear;
SQL.Add(´Select * from Pedidos´);
SQL.Add(´CodVendedor =:VarVend´);
end;
TbPedidos.ParamByName(´VarVend´).AsInteger:=0;
//esse filto como devo fazer para que traga os vazios?
Janete
Curtidas 0
Respostas
Sremulador
30/09/2008
veja assim
With TbPedidos do
begin
SQL.Clear;
SQL.Add(´Select * from Pedidos´);
SQL.Add(´WHERE CodVendedor IS NULL AND CodVendedor =0´);
end;
//esse filto como devo fazer para que traga os vazios?
With TbPedidos do
begin
SQL.Clear;
SQL.Add(´Select * from Pedidos´);
SQL.Add(´WHERE CodVendedor IS NULL AND CodVendedor =0´);
end;
//esse filto como devo fazer para que traga os vazios?
GOSTEI 0
Emerson Nascimento
30/09/2008
veja assim
With TbPedidos do
begin
SQL.Clear;
SQL.Add(´Select * from Pedidos´);
SQL.Add(´WHERE CodVendedor IS NULL AND CodVendedor =0´);
end;
//esse filto como devo fazer para que traga os vazios?
troque o [b:bb49589d43]AND[/b:bb49589d43] por [b:bb49589d43]OR[/b:bb49589d43].
o campo CodVendedor nunca será nulo e 0 ao mesmo tempo.
você ainda pode tentar assim:
With TbPedidos do begin SQL.Clear; SQL.Add(´Select * from Pedidos´); SQL.Add(´WHERE coalesce(CodVendedor,0) = :VarVend´); end;
dessa forma, você pode procurar por um vendedor específico ou por registros onde o vendedor não foi informado.
TbPedidos.ParamByName(´VarVend´).AsInteger := 0; vendedor não informado
TbPedidos.ParamByName(´VarVend´).AsInteger := 1; para o vendedor 1
mas para que isso funcione não pode haver um vendedor com código 0 (zero)
GOSTEI 0