Jessica07 0 Denunciar post Postado Fevereiro 5, 2015 Boa tarde, Estou tentando fazer um relatório de clientes filtrando pelo vendedor, exemplo: Quero um relatório de todos os clientes do vendedor de código 1, 2, 3 ... Fiz a seguinte select e quando compilo e executo o programa, aparece que o valor inteiro nao é valido. Segue código.. procedure TfrmConsultaRelClientes.BitBtn1Click(Sender: TObject); begin with dmPrincipal.query_clientes do begin close; SQL.Clear; SQL.Add('select * from clientes where id_vend like :pidVend'); ParamByName('pidVend').AsInteger:= StrToInt(dbe_idVend.Text); Open; end; frmRelClientes.qr_Clientes.Preview; O campo dbe_idVend é onde eu coloco o código do vendedor para filtrar seus clientes.. Alguem poderia ajudar? Desde ja agradeço. Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Fevereiro 5, 2015 SQL.Add('select * from clientes where id_vend = :pidVend'); Supondo o ID ser numérico Compartilhar este post Link para o post Compartilhar em outros sites
bdexterholland 0 Denunciar post Postado Fevereiro 6, 2015 Jéssica, minha dica (extendendo o que o Motta disse) é que você use o LIKE quando quiser procurar por um registro usando um termo que esteja contido no campo, é como uma pesquisa por palavras em um texto. Use o símbolo de igualdade sempre que você queira buscar um registro onde o termo de consulta coincida exatamente com o campo. O símbolo de igualdade é especialmente usado - por exemplo - para localizar registros por ID, afinal, 4 e 5 são próximos mas 4 é difente de 5, ou ainda, 4 e 45. Porque incluir 45 no resultado se você precisa do elemento com ID 4? Compartilhar este post Link para o post Compartilhar em outros sites
Jessica07 0 Denunciar post Postado Fevereiro 6, 2015 Então, já usei as duas formas, com e sem like e dá o mesmo erro. Teria alguma noção do que seja? Compartilhar este post Link para o post Compartilhar em outros sites
bdexterholland 0 Denunciar post Postado Fevereiro 7, 2015 sua query está sendo enviada assim? select * from clientes where id_vend = "1, 2, 3" Se for neste caso não vai funcionar mesmo pois o sistema de formato de dados do banco de dados não vai reconhecer este número como inteiro. Você pode mudar seu software para que construa uma query que fique desta forma: SELECT * FROM clientes WHERE id_vend = '1' OR id_vend = '2' OR id_vend = '3' ou ainda SELECT * FROM clientes WHERE id_vend IN ('1', '2', '3'); Link com mais informações sobre o uso do IN em Querys: http://www.techonthenet.com/sql/in.php Compartilhar este post Link para o post Compartilhar em outros sites
Jessica07 0 Denunciar post Postado Fevereiro 10, 2015 Mas quando eu coloco direto na consulta sql o código do meu vendedor, aparece certinho.. mas o que eu quero fazer é o seguinte: Tenho um dbedit que quando eu coloco o código do vendedor, tem um campo loockupcombobox que me traz o nome do cliente... Eu quero criar um parametro para a consultar enxergar o código do vendedor que esta nesse dbedit entendeu? Ai quando o usuario for tirar um relatorio de clientes, ele vai poder filtrar o vendedor que ele quiser. É isso que eu quero fazer, poderia ajudar? Compartilhar este post Link para o post Compartilhar em outros sites