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]Exclusão de registro em formulário com erro - não exclui

    Compartilhe

    daygdson
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 43
    Registrado : 20/04/2017

    [Resolvido]Exclusão de registro em formulário com erro - não exclui

    Mensagem  daygdson em Qua 09 Ago 2017, 17:06

    Bom dia caros amigos, mais uma vez recorro a vocês pra me auxiliar em um probleminha de código, é simples porém não estou conseguindo executar um comando para excluir dados de um formulário proveniente de uma consulta em duas tabelas relacionadas um-para-muitos, quando aplico o código abaixo ele confirma que foi excluido mas se consulto novamente ele está lá, não sei aonde estou errando, se puderem analisar e me apontar o erro agradeço muito

    segue  o código abaixo:


    Private Sub btn_excluir_registro_Click()
    On Error GoTo TrataErro 'tratativa do erro
    Dim Permissao As String 'variável declarada
    Dim ComandSQL As String 'variável declarada
       
       MsgBox "Deseja realmente excluir a Ordem de Serviço? Esta ação não terá mais volta !", vbExclamation, "Exclusão de registros"


    Permissao = Forms![Form_Menu]![cxPermissao] 'estou inserindo na varíavel se o usuário logado está permitido ou não

    If Permissao = -1 Then
    'estou validando que se o usuário logado for igual a "sim (Controle total)" especificado em cadastro de  usuário, então pode excluir registro

    ComandSQL = ("DELETE * FROM TAB_PROCESSOS WHERE IDPROC=" & Me.IDPROC)
     
     
       CurrentDb.Execute ComandSQL 'executando delete conforme comando inserido na variável
       
       MsgBox "Registro apagado", vbInformation, "Exclusão de registro"

       Me.Requery
       DoCmd.GoToRecord , , acNewRec
       
     
    Else

       MsgBox " Somente usuário com permissões administrativas poderá apagar os registros!", vbInformation, Me.Caption

    End If

    'abaixo estou tratando o erro caso o usuário efetue o cancelamento da operação

    SaiDaSub:
       Exit Sub

    TrataErro:
       If Err.Number = 2105 Then
         
       Exit Sub
       Else
           MsgBox "Exclusão cancelada", vbInformation, "Exclusão de registro"
       End If
       Resume SaiDaSub
    End Sub
    [/color][/color][/color]

    tentei usar outro código o 'DoCmd.RunCommand acCmdDeleteRecord mas também acontece a mesma coisa
    avatar
    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 9703
    Registrado : 04/11/2009

    Re: [Resolvido]Exclusão de registro em formulário com erro - não exclui

    Mensagem  JPaulo em Qua 09 Ago 2017, 17:20

    Tem um erro ae;

    Se Permissao for igual -1, então Permissao é campo Boleano e não String.

    Código:
    Dim Permissao As Boolean

    Pode ter mais erros, tais como, se as tabelas são relacionadas, então terá de deletar primeiramente na tabela principal e depois na tabela do detalhe (se existir).






    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver este link.]

    Sucesso e Bons Estudos
    Success and Good Studies

    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]

    daygdson
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 43
    Registrado : 20/04/2017

    Re: [Resolvido]Exclusão de registro em formulário com erro - não exclui

    Mensagem  daygdson em Qua 09 Ago 2017, 18:44

    Caro JPaulo, fiz a alteração observada mas não deu certo, acredito que está ocorrendo porque o formulário tem um subformulário que retorna os cálculos, e outro botão vinculado a um formulário que registra outras informações, sei que tem que excluir de uma tabela primeiro para depois a outra mas não estou conseguindo aplicar, ou seja este formulário está vinculado a muitas tabelas, as principais são TAB_Processos, TAB_ContasaReceber e TAB_Historico, fora que ele traz informações de tabela usuários, clientes...mas são informações copiadas de outros formulários. Segue um exemplo do banco, só não tem a opção de consulta quem está logado mas acho desnecessário para testes, é só desabilitar se observar vai ver que não exclui o registro.

    Então acho que para sanar minha dúvida, eu precisaria executar um comando Delete com todas as tabelas, mas não estou conseguindo montar este código..rsrrs
    Anexos
    ClientesExemplo.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (2.9 Mb) Baixado 8 vez(es)

    daygdson
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 43
    Registrado : 20/04/2017

    Re: [Resolvido]Exclusão de registro em formulário com erro - não exclui

    Mensagem  daygdson em Qua 09 Ago 2017, 21:28

    Caro JPaulo, consegui chegar ao resultado que queria, sua ajuda foi fundamental mais uma vez... depois de analisar, pesquisar e entender sua dica, consegui desmembrar este bicho de sete cabeças (kkkkk) ... Ficou desta forma o código

    Private Sub btn_excluir_registro_Click()
    On Error GoTo TrataErro 'tratativa do erro
    Dim Permissao As Boolean 'alteração de variável conforme sua dica
    Dim CrSQL As String ' Alterei o nome "comandSQL" para melhor identificação
    Dim ProcessosSQL As String 'Acrescentei nova Variável
    Dim HistoricoSQL As String 'Acrescentei nova variável
       
    'mensagem ao usuário

       MsgBox "Deseja realmente excluir esta Ordem de Serviço? Esta ação não terá mais volta !", vbExclamation, "Exclusão de registros"


    Permissao = Forms![Form_Menu]![cxPermissao] 'recebe informação do formulário principal

    If Permissao = -1 Then
    'aqui o bicho de sete cabeças...rsr. alimentei a varíavel criada individualmente, excluindo dados de cada tabela por vez, conforme ordem de princípio

      CrSQL = ("DELETE * FROM TAB_CONTASaRECEBER WHERE IDPROC=" & Me.IDPROC)
     
      CurrentDb.Execute CrSQL
      Me.SUBFORM_CONTASaRECEBER.Requery 'Aqui após exclusão do registro eu limpei os dados do subformulário para próxima exclusão
     
      HistoricoSQL = ("DELETE * FROM TAB_HISTORICO WHERE IDPROC=" & Me.IDPROC)
      CurrentDb.Execute HistoricoSQL
      Me.Requery ' aqui atualizei após exclusão para passar para o próximo dado a ser excluído da outra tabela
     
      ProcessosSQL = ("DELETE * FROM TAB_PROCESSOS WHERE IDPROC=" & Me.IDPROC)
      CurrentDb.Execute ProcessosSQL 'aqui finalizou a exclusão
     
    'mensagem ao usuário
      MsgBox "Registro apagado com sucesso ", vbInformation, "Exclusão de registro"
       
      Me.Requery
       
      DoCmd.GoToRecord , , acNewRec 'deixei o formulário limpo para um próximo registro ou consulta
       
    Else

    'Se o usuário logado não tiver permissões ele receberá esta mensagem
       MsgBox " Somente usuário com permissões administrativas poderá apagar os registros!", vbInformation, Me.Caption

    End If
    SaiDaSub:
       Exit Sub

    TrataErro:
       If Err.Number = 2105 Then 'Aqui trata o erro caso o usuário cancele a operação
         
       Exit Sub
       Else
           MsgBox "Exclusão cancelada", vbInformation, "Exclusão de registro"
       End If
       Resume SaiDaSub
    End Sub
    [/color][/color]

    Caso Resolvido !
    avatar
    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 9703
    Registrado : 04/11/2009

    Re: [Resolvido]Exclusão de registro em formulário com erro - não exclui

    Mensagem  JPaulo em Qui 10 Ago 2017, 12:32

    Fico feliz.

    Obrigado pelo retorno o forum agradece.


    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver este link.]

    Sucesso e Bons Estudos
    Success and Good Studies

    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]

    daygdson
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 43
    Registrado : 20/04/2017

    Re: [Resolvido]Exclusão de registro em formulário com erro - não exclui

    Mensagem  daygdson em Seg 14 Ago 2017, 13:03

    Caso resolvido !

      Data/hora atual: Ter 21 Nov 2017, 21:12