Problemas com consulta utilizando o locate
14/08/2004
0
É o seguinte, tenho um cadastro de fornecedores, e pra utilizar uma consulta, utilizo um combobox as opções de consulta, e um txt para o usuário digitar o que ele deseja localizar. EX: combobox com as opçoes, de codigo, fantasia,Inscricao estadual,etc....Então o usuarios seleciona uma das opcoes do combobox e digita no txt a informacao de acordo com a opcao do combo, e clica em botao para pesquisar.
O problema é que qdo é selecionado as opções de código e inscricao estadual a pesquisa não funciona!
Peço paciencia, pois sou iniciante! Obrigado desde já!
Abaixo está o código do botão localizar!!!!!
Obs: Uso paradox!
if combobox1.text = ´código´ then
begin
dm.tblfornecedor.locate(´codfornec´,strtoint(txt1.text),[]);
frmprocfornec.Close;
end;
if combobox1.text = ´Fantasia´ then
begin
dm.tblfornecedor.locate(´fantasia´,txt1.text,[lopartialkey]);
end;
if combobox1.text = ´Inscrição Estadual´ then
begin
dm.tblfornecedor.locate(´InscricaoEstadual´,strtoint(txt1.text),[locaseinsensitive]);
Claudenir.antunes
Posts
14/08/2004
Sandra
A unit DB está declarada na sua lista de uses?
Qual o erro que está apresentando?
A propósito, se o campo Inscrição Estadual é inteiro, talvez o parâmetro ´locaseinsensitive´ não seja necessário. Verifique!
15/08/2004
Claudenir.antunes
Sandra, a unit db está na uses, e qdo executo o locate, simplismente ele não faz a pesquisa, e não aparece mensagem de erro nenhuma!
O que faço?
15/08/2004
Sandra
Após alguns testes:
procedure TForm1.ComboBox1Click(Sender: TObject); begin txt1.SetFocus; end; procedure TForm1.Button1Click(Sender: TObject); begin if Combobox1.ItemIndex = 0 then begin dm.tblfornecedor.locate(´codfornec´,strtoint(txt1.text),[]); frmprocfornec.Close; end else if Combobox1.ItemIndex = 1 then dm.tblfornecedor.locate(´fantasia´,txt1.text,[lopartialkey]); else if Combobox1.ItemIndex = 2 then dm.tblfornecedor.locate(´InscricaoEstadual´,strtoint(txt1.text),[locaseinsensitive]); end;
Verifique se atende sua necessidade. Talvez, ainda necessite algumas adaptações. Obs.: mantive o código citado na abertura do tópico.
Boa sorte! :D
16/08/2004
Claudenir.antunes
procedure TForm1.ComboBox1Click(Sender: TObject); begin txt1.SetFocus; end; procedure TForm1.Button1Click(Sender: TObject); begin if Combobox1.ItemIndex = 0 then begin dm.tblfornecedor.locate(´codfornec´,strtoint(txt1.text),[]); frmprocfornec.Close; end else if Combobox1.ItemIndex = 1 then dm.tblfornecedor.locate(´fantasia´,txt1.text,[lopartialkey]); else if Combobox1.ItemIndex = 2 then dm.tblfornecedor.locate(´InscricaoEstadual´,strtoint(txt1.text),[locaseinsensitive]); end;
Obrigado Sandra! :shock:
Vou testar e depois digo se deu certo! :D
18/08/2004
Claudenir.antunes
procedure TForm1.ComboBox1Click(Sender: TObject); begin txt1.SetFocus; end; procedure TForm1.Button1Click(Sender: TObject); begin if Combobox1.ItemIndex = 0 then begin dm.tblfornecedor.locate(´codfornec´,strtoint(txt1.text),[]); frmprocfornec.Close; end else if Combobox1.ItemIndex = 1 then dm.tblfornecedor.locate(´fantasia´,txt1.text,[lopartialkey]); else if Combobox1.ItemIndex = 2 then dm.tblfornecedor.locate(´InscricaoEstadual´,strtoint(txt1.text),[locaseinsensitive]); end;
Sandra, obrigado pela ajuda! consegui resolver o problema! No combobox a opção Código estava (com acento) e eu tinha digitado no
editor de código sem o acento :oops:
Valeu, muito obrigado mesmo!
Sucesso!
Clique aqui para fazer login e interagir na Comunidade :)