MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

Obrigado

Administração do MaximoAccess

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access

    [Resolvido]Mensagem ao excluir registro com relacionamento

    Compartilhe

    alantb
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 138
    Registrado : 25/07/2017

    [Resolvido]Mensagem ao excluir registro com relacionamento

    Mensagem  alantb em 28/2/2018, 02:41

    Olá pessoal, todas as tabelas do meu bd que estão relacionadas com outras estão com as opções "Impor Integridade Referencial" MARCADAS e as de Propagações de Atualização e de Exclusão DESMARCADAS . Do jeito tá aqui não exclui registro da tabela pai (relação1) OK, mas também não exibe mensagem dizendo porque e nem informando o usuário. Já nas tabelas filhos(registros para muitos) exclui normalmente.

    Como fazer para exibir msg de erro "O registro não pode ser excluído pois há registros relacionados em outra tabela"; orientar o usuário e dar continuidade no código???

    ALAN

    Noobezinho
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3632
    Registrado : 29/06/2012

    Re: [Resolvido]Mensagem ao excluir registro com relacionamento

    Mensagem  Noobezinho em 28/2/2018, 10:47

    Alan

    Como disse, com  propagações de atualização e de exclusão DESMARCADAS, não poderá quando deletar o Registro PAI, deletar também,

    os registros em tabelas relacionados simultaneamente.

    Consegue deletar o registro da tabela muitos porque o campo de relacionamento  não é chave primária, já se fizer um relacionamento com outra

    tabela com essa tabela, já não poderá deletar.

    Então para avisar o usuário que ele não pode deletar o registro filho, coloque isso no botão deletar:

    If msgBox("Deseja Excluir ?", vbQuestion + vbYesNo, "Excluir Registro") = vbYes Then
          If DCount("*", "tblPai", "Cod = " & Me.Cod) <> 0 Then
           msgBox "Esse registro não pode ser excluído." & vbcrlf & "Ele faz parte de associação com outro registro.", vbInformation, "Impossível Excluir"
            Exit Sub
          End If
    End If

    [ ]'s

    alantb
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 138
    Registrado : 25/07/2017

    Re: [Resolvido]Mensagem ao excluir registro com relacionamento

    Mensagem  alantb em 28/2/2018, 11:42

    Noobezinho, digamos que eu tenha duas tabelas: tbFuncionario e tbMovimento. Na tbFuncionario CodFunc é a chave primaria e CodBiometria é a chave primaria da tbMovimento . As duas estão relacionadas assim:

    tbFuncionario                         tbMovimento

                                                     codBiometria
    CodFunc(1) ________              codMotivo
    NomeFunc                |               Dias
    CodLotacao              |              Acontar
    CodCargo                 |_____(∞)  codFunc

    Quando excluo um registro de tbMovimento exclui beleza sem complicações. Após a exclusão de registro em tbMovimento, se eu for excluir o funcionário da tbFuncionário, e com o código que me passou anteriormente, o bd não deixa. Se nesse momento já não há registros deste funcionário na tbMovimento, deveria excluir, certo??? A verificação que preciso que o código faça é essa:

    - se há registros cadastrados para esse funcionário na tbMovimento, exibe msg impedindo de excluir o funcionario da tbFuncionario;
    - se a verificação constatar que o funcionario existe em tbFuncionario, mas não registros para ele em tbMovimento, e se responder SIM no questionamento de exclusão, então excluir normalmente....

    ALAN

    Noobezinho
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3632
    Registrado : 29/06/2012

    Re: [Resolvido]Mensagem ao excluir registro com relacionamento

    Mensagem  Noobezinho em 28/2/2018, 12:31

    Se há registros cadastrados para esse funcionário na tbMovimento, exibe msg impedindo de excluir o funcionario da tbFuncionario;
     
      Para isso, já passei o exemplo na mensagem anterior.

    se a verificação constatar que o funcionario existe em tbFuncionario, mas não registros para ele em tbMovimento, e se responder SIM no questionamento de exclusão, então excluir normalmente.

    Então, assinale na relação deletar em cascata.

    Como não tem registros na tabela movimento para esse funcionário, assinalando no relacionamento para deletar, funfa legal.

    [ ]'s

    alantb
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 138
    Registrado : 25/07/2017

    Re: [Resolvido]Mensagem ao excluir registro com relacionamento

    Mensagem  alantb em 28/2/2018, 12:33

    Opa, tava fazendo ao contrario, agora deu certo Noobezinho, conforme o código que passaste anteriormente e com mais um ajuste. Segue abaixo como ficou. Então RESOLVIDO!!!!!

    If MsgBox("Deseja Excluir ?", vbQuestion + vbYesNo, "Excluir Registro") = vbYes Then
    If DCount("*", "tbMovimento", "CodFunc = " & Me.txtMatricula) <> 0 Then
    MsgBox "Esse registro não pode ser excluído." & vbCrLf & "Ele faz parte de associação com outro registro.", vbInformation, "Impossível Excluir"
    Exit Sub
    Else
    CurrentDb.Execute "DELETE * FROM tbFuncionario WHERE CodFunc=" & Me.txtMatricula & ""
    MsgBox ("Exclusão realizada com sucesso!"), vbInformation + vbOKOnly, "Sucesso ao Excluir!"
    End If
    End If

    ALAN

    Noobezinho
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3632
    Registrado : 29/06/2012

    Re: [Resolvido]Mensagem ao excluir registro com relacionamento

    Mensagem  Noobezinho em 28/2/2018, 12:48

    Ótimo Alan

    Para colocar o Resolvido, edite uma msg tua e aperte o botão Resolvido no final da página a direita.

    Boa sorte !

    alantb
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 138
    Registrado : 25/07/2017

    Re: [Resolvido]Mensagem ao excluir registro com relacionamento

    Mensagem  alantb em 28/2/2018, 12:51

    Noobezinho, na hora que postei a ultima msg, você também postou e não vi que faltou marcar o RESOLVIDO, sendo assim, encerramos por aqui, valeu pela orientação.

    ALAN

      Data/hora atual: 18/10/2018, 15:18