Boa tarde
Em meu sistema tenho alguns campos relacionados. A integridade referencial está OK, porém, omito todos os retornos do access e apresento minhas mensagens tratadas. Na rotina de exclusão uso o código abaixo:
Esta rotina funciona perfeitamente, porém, quando o convenio X é usado na tabela Pacientes, por exemplo, não apresento mensagem de erro, mas o registro do convenio X não é excluído. Alguém tem alguma dica de como posso antes de iniciar a exclusão indicar para o usuário que o registro não será excluido por estar em uso em outra tabela?
Att. Vinicius
Em meu sistema tenho alguns campos relacionados. A integridade referencial está OK, porém, omito todos os retornos do access e apresento minhas mensagens tratadas. Na rotina de exclusão uso o código abaixo:
- Código:
On Error GoTo ErrorHandler
If IsNull(Me!Convenio) Then Exit Sub
If MsgBox("Confirma a Exclusão do Convênio:" & vbCrLf & vbCrLf & Me!Convenio, vbQuestion + vbYesNo, "Exclusão...") = vbNo Then Exit Sub
DoCmd.SetWarnings False
CurrentDb.Execute "Delete * From tb_Convenios Where Convenio= '" & Me!Convenio & "'"
DoCmd.SetWarnings True
DoCmd.ShowAllRecords
Me.Listagem.Requery
DoCmd.GoToRecord , , acNewRec
DoCmd.RunCommand acCmdRefresh
Me!Convenio.SetFocus
End If
ErrorHandlerExit:
Exit Sub
ErrorHandler:
If err = 3021 Then ' Sem registro corrente
Resume Next
Else
MsgBox "Erro Nº: " & err.Number & "; Descrição: " & err.Description
Resume ErrorHandlerExit
End If
Esta rotina funciona perfeitamente, porém, quando o convenio X é usado na tabela Pacientes, por exemplo, não apresento mensagem de erro, mas o registro do convenio X não é excluído. Alguém tem alguma dica de como posso antes de iniciar a exclusão indicar para o usuário que o registro não será excluido por estar em uso em outra tabela?
Att. Vinicius