Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

gilcandido

Codigo Verificação

Recommended Posts

Amigos, sei que pra vcs é algo facil pra se resolver.

 

gostaria que me ajudasem a corrigir este codigo, pois sei que erro de logica, mas quebrei a cebça e não consegui fazer funcionar corretamente.

 

eu preciso que seja vericado se codigo existe na tabela, caso não exista exibi uma mensagem locação não cadastrada.

o meu codigo faz a verificação mesmo se ele encontra o codigo ele dá a mensagem Locação não encontrada e exibi os dados.

 

quando não encontra ele exibi a mensagem não aparece nada grid e dou ok para a mensagem, aqui esta certo.

 

mas ele achando ele apenas tem que exibir na grid e não exibir a mensagem Locação não encontrda.

vcs por favor poderia corrigir ai no codigo este meu erro, veja o codigo abaixo.

 

Meu Codigo: ele esta em botão titulo Localizar ao clicar no botão abre uma caixa para digitar o codigo para busca,ok.

 

Var

Loccod:String;

BOK:Boolean;

begin

 

BOK:=inputQuery('Localizar Locação','Entre com o Nº da Locação: ',Loccod);

if BOK then begin

Tabelapedido.Open;

if not TabelaPedido.findkey([Loccod])then

Begin

ShowMessage('Locação não encontrada');

TabelaPedido.Filtered := false;

end

else

TabelaPedido.Filtered := False;

TabelaPedido.Filter := 'NumLoc = ''' + LocVendedor + '''';

TabelaPedido.Filtered := true;

 

end;

 

Agradeço desde já a ajuda.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ele exibe todos os dados da tabela sem o filtro, pq você abre a tabela antes de entrar nas condições, ou seja ele não acha nenhum codigo pelo metodo findkey.

 

Uses o método locate é melhor ..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo Acho que você não entendeu, se ele não acha o codigo digitado ele não mostra nada na grid e da a mensagem que nada foi encontrado, até aqui esta ok.

 

o erro que tenho é ele acha o codigo se existe mostra na grid só qua fica a mensagem locação não encotrada.

 

ou seja encontrando o codigo ou não ele exibi a mensagem locação não encontrada, é aqui que que desejo consertar, acredito que seja a erro meu de logica no codigo.

 

podem me Ajudar.

 

apenas desejo que não apareca a mensagem caso o codigo exista ele encontra e exibi os dados na grid.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu tente assim:

Var	Loccod:String;	BOK:Boolean;begin	BOK:=inputQuery('Localizar Locação','Entre com o Nº da Locação: ',Loccod);	if BOK then 	begin		Tabelapedido.Open;		if not TabelaPedido.findkey([Loccod])then		Begin			ShowMessage('Locação não encontrada');			TabelaPedido.Filtered := false;		end		else		begin //adicionei um begin			TabelaPedido.Filtered := False;			TabelaPedido.Filter := 'NumLoc = ''' + LocVendedor + '''';			TabelaPedido.Filtered := true;		end; //e um endend;
Imagem Postada

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu tente assim:

 

 

Var	Loccod:String;	BOK:Boolean;begin	BOK:=inputQuery('Localizar Locação','Entre com o Nº da Locação: ',Loccod);	if BOK then 	begin		Tabelapedido.Open;		if not TabelaPedido.findkey([Loccod])then		Begin			ShowMessage('Locação não encontrada');			TabelaPedido.Filtered := false;		end		else		begin //adicionei um begin			TabelaPedido.Filtered := False;			TabelaPedido.Filter := 'NumLoc = ''' + LocVendedor + '''';			TabelaPedido.Filtered := true;		end; //e um endend;
Imagem Postada

 

 

 

Infelismente mesma com o codigo do amigo acima, ainda aparece a mensagem de Locação não encotrada, encontrando o codigo ou não Ainda não consigo acertar este erro?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Caros colegas posso até estar errado mas acho que existe um erro nesse código pode até ser de digitação.

 

Var

Loccod:String;

BOK:Boolean;

begin

 

BOK:=inputQuery('Localizar Locação','Entre com o Nº da Locação: ',Loccod);

if BOK then

begin

Tabelapedido.Open;

if not TabelaPedido.findkey([Loccod])then

Begin

ShowMessage('Locação não encontrada');

TabelaPedido.Filtered := false;

end

else

begin //adicionei um begin

TabelaPedido.Filtered := False;

TabelaPedido.Filter := 'NumLoc = ''' + Loccod+ ''''; ////variavel errada (LocVendedor)

TabelaPedido.Filtered := true;

end; //e um end

end;

 

 

O nome da variavel estava errada, montei um teste com essa mudança e funcionou ....

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.