Como comparar duas tabelas

15/12/2016

0

Como faço para fazer uma atualização em uma tabela ,comparando dois campos de tabelas diferentes e me retornando o valor atualizado..
Vou explicar melhor tenho dois campos iguais em duas tabelas diferentes,tenho que comparar o ncm da tabela produtos com o ncm da tabela ncm e assim me retornado o valor da alíquota de imposto que ta na tabela de ncm,para a tabela de produto que existe esse campo alíquota na tabela produto...mais tem que jogar o valor da aliquota da tabela de ncm na tabela de produto no campo aliquota !!!! Como faço isso me ajudem???Obrigado pela atenção
Alan

Alan

Responder

Posts

15/12/2016

Raimundo Pereira

{ Private declarations }
Function Atualizar_Alq(Comando_SQL:string):boolean;


implementation

{$R *.dfm}
Function TForm1.Atualizar_Alq(Comando_SQL:string):boolean;
begin
QryUpdate.Close;
QryUpdate.sql.Clear;
QryUpdate.sql.Text:=Comando_SQL;
try
QryUpdate.ExecSQL;
Result:=true;
except
Result:=False;
end;
end;


Agora sua rotina.
procedure TForm1.VerificarClick(Sender: TObject);
begin
qryNCM.Close;
qryNCM.FetchAll;
qryNCM.First;

Iniciamos um for na tabela ncm e ao mesmo tempo vamos atualizando
if not qryNCM.Eof then
repeat
//TODOS OS PRODUTOS CUJO NCM SEJA O ATUAL DA TABELA NCM SERÁ ATUALIZADO
Atualizar_Alq('UPDATE TABELA_PRODUTOS SET ALIQ_ICMS='''+qryNCM.FieldByName('ALIQ_ICMS').AsString+''' WHERE NCM='''+qryNCM.FieldByName('NCM').AsString+'''');
qryNCM.Next;

until qryNCM.Eof;
ShowMessage('Atualização finalizada');

end;
Responder

16/12/2016

Alan

No script que você me passou eu posso fazer direto na tabela de produto,verificar se tem essa ncm na tabela de ncm e assim atualizar aliquota na tabela de produto.E como seria essa "QryUpdate".Sou novo no delphi,se vocês puderem me ajudar agradeço muito
Responder

16/12/2016

Alan

E como fazer um laço pra percorrer todos os ncm igual e assim atualizar todas as alíquotas de todos os produtos???Por favor,e muito obrigado!!!
Responder

16/12/2016

Alan

Como seria essa "QryUpdate",o que eu ponharia dentro dela???E por favor responda minhas dúvidas anteriores e muito obrigado!!!!
Responder

17/12/2016

Raimundo Pereira

Bom dia,

Com o passar do tempo, você terá mais produtos que NCM.
Então é melhor você percorrer do o cadastro de NCM e ir executando o update na tabela de produtos.

QryUpdate, não é preciso preencher SQL, apenas conectar a sua cnx principal.
Veja a função que irá realizar o update
Function TForm1.Atualizar_Alq(Comando_SQL:string):boolean;
begin
QryUpdate.Close;
QryUpdate.sql.Clear;
QryUpdate.sql.Text:=Comando_SQL;
try
QryUpdate.ExecSQL;
Result:=true;
except
Result:=False;
end;
end;

No momento em que estiver percorrendo o cadastro de NCM, automaticamente ele irá gerar o script de update e chamar a função.
// Veja aqui neste momento ele gerando o script
Atualizar_Alq('UPDATE TABELA_PRODUTOS SET ALIQ_ICMS='''+qryNCM.FieldByName('ALIQ_ICMS').AsString+''' WHERE NCM='''+qryNCM.FieldByName('NCM').AsString+'''');

Estou fora de escala hoje, se precisar de suporte
Chame no Whz 71.993052489
Responder

17/12/2016

Raimundo Pereira

Dica importante.
Faça o backup do seu banco de dados
Responder

20/12/2016

Alan

Muito Obrigado qualquer duvida entro em contato!!!
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar