Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Não dá mensagem de erro na sub


Flecha

Pergunta

Olá,

Tenho uma sub abaixo para retirar o registro que esta no form na tabela "vivo" e arquivar na tabela "morto" e em seguida deletar da tabela " Vivo".

O indice nas duas tabelas é o campo "RG" não aceita duplicação.

Então quando for arquivar na tabela "morto" e existir o RG lá, vai dar o erro.

Esta acontecendo o seguinte:

Se não tem o RG no Morto esta efetuando o arquivo do registro do form na tabela morto e deletando da tabela Vivo. Normal.

Se já existe o RG na tabela Morto a sub não completa a execução, até pergunta se tem certeza de quer arquivar no morto o fulano, e clicando em sim volta a tela do form com o cara lá, "não fez nada", não arquivou e não deu a mensagem que já tem ele no morto"

O que está errado na minha sub?

Não passa na MSGBOX para informar.

Gostaria de colocar quando deu certo a mensagem "Registro arquivado com sucesso"

Minha sub:

Private Sub Arquivar_Click()
   
    Dim strNOME    As String
    Dim strRG     As String
    Dim lngCustID       As Long
    Dim lngNewSelIndex  As Long
    
    If lvwCustomer.SelectedItem Is Nothing Then
        MsgBox "Não tem Nome selecionado para Arquivar.", _
               vbExclamation, _
               "ARQUIVAR - MORTO"
        Exit Sub
    End If
    
    
 'On Error GoTo erro_mdb 'inicia o tratamento de erros
    
    With lvwCustomer.SelectedItem
        strNOME = .text
        strRG = .SubItems(mlngCUST_RG_IDX)
        lngCustID = CLng(.SubItems(mlngCUST_ID_IDX))
    End With
    
    If MsgBox("Você tem certeza que quer Arquivar Nome '" _
            & strNOME & " " & strRG & "'?", _
              vbYesNo + vbQuestion, _
              "Confirma Exclusão") = vbNo Then
        Exit Sub
    End If
    
    
 On Error GoTo erro_mdb 'inicia o tratamento de erros


    mobjCmd.CommandText = "INSERT INTO Morto SELECT * FROM Customer WHERE  CustID = " & lngCustID
    mobjCmd.Execute
    
    mobjCmd.CommandText = "DELETE FROM Customer WHERE CustID = " & lngCustID
    mobjCmd.Execute
    
    With lvwCustomer
        If .SelectedItem.Index = .ListItems.Count Then
            lngNewSelIndex = .ListItems.Count - 1
        Else
            lngNewSelIndex = .SelectedItem.Index
        End If
        .ListItems.Remove .SelectedItem.Index
        If .ListItems.Count > 0 Then
            Set .SelectedItem = .ListItems(lngNewSelIndex)
            lvwCustomer_ItemClick .SelectedItem
        Else
            ClearCurrRecControls
        End If
    End With


' Informa o total de registros do bd

    Set mobjRst = New ADODB.Recordset
    mobjRst.CursorLocation = adUseClient
    mobjRst.Open "Select * From Customer", mobjConn, adOpenKeyset, adLockOptimistic, adCmdText
    Label25.Caption = "Total de Registros = " & mobjRst.RecordCount


'-------------
erro_mdb:

If Error = "0" Then Resume Next '"2147467259" Then
If Error = "2147467259" Then


        MsgBox "Erro número : " & Str$(Err.Number) & "  --> RG já Existe no Morto !!! " & Chr(13) _
        & "Favor verificar no Morto pelo RG e confirmar a duplicidade " & Chr(13) _
        & " se é o mesmo do que esta no Vivo. NÃO PODE HAVER (RG) IGUAL" _
        & Chr(13) & "DO MORTO NO VIVO e Vice-Versa " _
        & Chr(13) & "Operação Cancelada"
        'Resume Next   'retorna a ação para a linha de código subsequente áquela que
                      'gerou o erro
End If
End Sub

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,7k
×
×
  • Criar Novo...