Array
(
)

Problemas com consulta utilizando o locate

Claudenir.antunes
   - 14 ago 2004

Olá amigos, Desejo, paz e alegria a todos!
É 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]);


Sandra
   - 14 ago 2004

Claudenir,

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!


Claudenir.antunes
   - 15 ago 2004


Citação:
Claudenir,

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!




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?


Sandra
   - 15 ago 2004

Claudenir,

Após alguns testes:
#Código

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


Claudenir.antunes
   - 16 ago 2004


Citação:
Claudenir,

Após alguns testes:
#Código

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


Obrigado Sandra! :shock:
Vou testar e depois digo se deu certo! :D


Claudenir.antunes
   - 18 ago 2004


Citação:
Claudenir,

Após alguns testes:
#Código

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


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!