Como fazer se existi tal campo em uma tabela

Delphi

22/12/2016

tenho um form de produto e nele tem um edit que eu coloco o ncm de tal produto....e nesse sistema tenho uma tabela com todos os ncm que importar...Queria saber como poderia fazer para na hora que eu digitir o ncm no edit ele verificar se tal ncm existi ou nao na tabela que importei......ai se tivesse mostrava a mensagem que tem ,e se não mostrava uma mensagem .....Como fazeria isso?Me ajudem,muito obrigado!!!
Alan

Alan

Curtidas 0

Respostas

Gutierry Pereira

Gutierry Pereira

22/12/2016

Bom dia,
Utilize o evento onExit do edit. Neste evento utilize uma query ou crie uma para fazer a consulta a sua tabela de NCM onde o NCM é igual ao do edit. Caso exista vc envia a mensagem para o usuário se não vc da uma mensagem desejada e retorna o foco para seu campo de NCM.

Espero ter ajudado.
GOSTEI 0
Raimundo Pereira

Raimundo Pereira

22/12/2016

EXEMPLO
qryNCM.OPEN;
IF qryNCM.locate('TBL_NCM_CAMPO_NCM',QRY_PRODUTO.FIELBYNAME('NCM').ASSTRING,[]) THEN
BEGIN
SHOWMESSAGE('OK'); // AQUI VOCÊ SUA ROTINA PARA ATUALIZAR O CADASTRO DO PRODUTO PARA ALQ_ICMS DO CADASTRO DE NCM
END
ELSE
BEGIN
// AQUI VOCÊ SUA ROTINA PARA ATUALIZAR O CADASTRO DO PRODUTO PARA ALQ_ICMS PARA 0
END;
END;
GOSTEI 0
Alan

Alan

22/12/2016

E como fazeria issso??
GOSTEI 0
Alan

Alan

22/12/2016

E como fazeria isso Gutierrydsn?
GOSTEI 0
Jones Granatyr

Jones Granatyr

22/12/2016

No OnExit poderia fazer uma query semelhante a essa

with TFDQuery.Create(Self) do
try
Connection := cnnConexao; // coloca aqui o componente de conexão
Open('select ncm from produtos where ncm = :ncm');
Params[0].AsString := ANcm; // essa variável seria o que você quer comparar
if not is Empty then
ShowMessage('Já existe');
finally
Free;
end;
GOSTEI 0
POSTAR