bollywood actresses hair loss hair rehab london contact number cheap hair extensions brazilian curly hair with closure hair extension fails human hair wigs black ponytail hairstyles 2018 sunny hair extensions uk hair extensions remy hair extensions weft koko one piece hair extensions clip hair
Impedir mensagem Interna do Access

Impedir Mensagem Interna do Access

Nota importante: para ter acesso aos vídeos e arquivos exemplos deste site, adquira um dos planos apresentados abaixo. Você pode comprar em até 5x no Cartão de Crédito. 

Veja como comprar e saiba mais sobre o material oferecido,  clicando aqui.

Open v3

 

Usuário Marcos:

Boa tarde.

Em todos os meus projetos uso o relacionamento entre as tabelas, através de seus índices.  Isso evita, que ao se excluir um registro, falte dados numa tabela em que se relacionava.  Porém, sempre enfrentei o problema da mensagem interna do Access, quando tento excluir este registro:

Erro de tempo de execução 3200
O registro não pode ser excluído ou alterado porque a tabela ItensTab inclui registros relacionados a ele.

Como suprimir esta mensagem e detectar, por VBA, qual a tabela relacionada? Já usei docmd.SetWarning, mas não funciona.

Suporte:

Marcos, o que você quer fazer com os dados da tabela relacionada?  Excluir também os registros?

Ofereça um BD com as tabelas relacionadas em questão e mostre como está usando o código para efetuar a exclusão.

Usuário Marcos:

Oi Avelino!

Vou te dar um exemplo: - a cada exclusão de uma venda, as parcelas de receitas a receber seriam excluídas automaticamente.  Até aí está tudo OK!

O cliente cancelou a venda, logo, excluí tudo relacionado a ela: receitas, comissões de venda, itens vendidos... porque está na relação de tabelas, além da Integridade Referencial, a exclusão de registros relacionados.

Agora, vamos para outro exemplo: - entro na tela de um produto e sem querer tento excluí-lo. Por estar relacionado por Integridade Referencial, a Tabela ItensDeVenda, o Access dá a mensagem que informei anteriormente.  Se eu retiro a relação, ele é excluído e nas vendas onde ele faria parte, o registro aparece em branco e só são visíveis a Quantidade e o Valor.

É esse aviso do Access que quero evitar e que informe, como nesse exemplo, que este produto faz parte de uma relação em Vendas.  Portanto, só podendo ser excluído se o registro onde ele consta em venda, seja antes excluído.

Segue o código que estou utilizando:

Function Excluir()
    Dim Mensg  As String
    Beep
    Mensg = MsgBox("Este Registro será excluído. Confirma?", vbQuestion + vbYesNo, "Excluir Registro")
    If Mensg = vbNo Then GoTo 20 Else GoTo 10
10 DoCmd.RunCommand acCmdDeleteRecord
20 End Function

Suporte:

Marcos, experimente tratar o erro. Exemplo:

Faça o login aqui para ter acesso ao código.

Ou você pode testar se existem registros na tabela relacionada, antes de realizar a pergunta. Exemplo:

Faça o login aqui para ter acesso ao código.

Se ainda assim não funcionar, experimente o código abaixo, no evento "ao ocorrer erro" do formulário:

Faça o login aqui para ter acesso ao código.

Usuário Marcos:

Avelino muito obrigado!

As duas primeiras funções funcionaram perfeitamente!


 

 


Não há comentário

Envie seu comentário: