Fórum Erro de violação de Chave #428669
13/11/2012
0
bom dia aos colegas, estou com um problema no mínimo estranho, fiz um cadastro de tipo de pagamento, neste cadastro vai receber informações de outra tabela chamada forma de pagamento em um relacionamento master/detail na tabela que vai receber a forma de pagamento (boleto, dinheiro, cartão etc..)recebe o código da tabela principal e o código da forma de pagamento, e nesta tabela crie um campo auto incremento que acredito que este que esteja dando problema..vou passar o códo e tentar comentá-lo
não sei porque dá este problema o campo que tem o generator e a chave primária não estão neste código..
if Dts_CadTpSaida.State in [dsInsert, dsEdit] then //aki ele verifica o status da tabela
begin
DM.Cds_CadItensTipVenda.Open;
DM.Cds_CadItensTipVenda.Locate('ID_COD_ITEN',DMConsulta.Cds_Pesc_FormaPagamentoID_FORM_PAGAMENTO.Value,[]); // quando edito um registro ou insiro existe um função que que filtra pelo código do tipo de pagamento mostrando apenas os rergistros relacionados a ele..o locate acima verifica se existe um código da forma de pagamento igual ao que estou tentando inserir nesta função.
if DM.Cds_CadItensTipVendaID_COD_ITEN.Value = DMConsulta.Cds_Pesc_FormaPagamentoID_FORM_PAGAMENTO.Value then
begin
// se achar ele ativa o show message.
Showmessage('Esta forma de pagameto já se encontra cadastrado para este tipo de venda');
exit;
end;
// se não achar ele executa o procedimento abaixo..
DM.Cds_CadItensTipVenda.Insert;
DM.Cds_CadItensTipVendaID_COD_ITEN.Value := DMConsulta.Cds_Pesc_FormaPagamentoID_FORM_PAGAMENTO.Value;
DM.Cds_CadItensTipVendaID_TP_SAIDA.Value := DM.Cds_CadTipoVendaID_TP_SAIDA.Value;
DM.Cds_CadItensTipVenda.Post;
DM.Cds_CadItensTipVenda.ApplyUpdates(0);
DMConsulta.Cds_Pesc_ItensTipVenda.Close; // atualiza a tabela de visualização
DMConsulta.Cds_Pesc_ItensTipVenda.Open;
end
else
begin
Showmessage('É nescessário inserir ou editar algum registro'); aki se a primeira condição lá do topo não atender aciona esta menssagem..
end;
não sei porque dá este problema o campo que tem o generator e a chave primária não estão neste código..
Gilmar Moraes
Curtir tópico
+ 0
Responder
Posts
13/11/2012
Gilmar Moraes
se alguém poder ajudar a dá um otimizada no código..ouvi falar que este locate não legal usa-lo..más vai saber né ??
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)