Notifications
Clear all

Como evitar cadastro duplicado de usuários no login

5 Posts
3 Usuários
0 Reactions
985 Visualizações
(@silver)
Posts: 15
Active Member
Topic starter
 

Estou com o seguinte problema quando cadastro um usuário e senha, se eu cadastrar o mesmo usuário e senha ele duplica gostaria que quando fosse cadastrar um usuário se ele ja existir não cadastra-se para não ficar duplicado, e recebe-se uma mensagem usuário ja cadastrado !! Seguem meus códigos agradeço a ajuda desde já !!

Private Sub SALVARUSUARIOESENHA_Click()
'Trata erro, caso falha no sistema
On Error GoTo ErroNoSistema
    'Inicia processo de seleção de próxima linha vazia para gravação de dados do frmCadastro
    Dim Linha As Integer
    Linha = Sheets("LOGIN").Range("A" & Rows.Count).End(xlUp).Row
    Linha = Linha + 1
    
     'Salva as informações dos objetos do frmCadastro na planilha "dados"
    Sheets("LOGIN").Cells(Linha, 1).Value = TEXTBOXLOGINUSUÁRIO.Value
    Sheets("LOGIN").Cells(Linha, 2).Value = TEXTBOXLOGINSENHA.Value
   
    'Fim do proceso de gravação

     'Salva a planilha
    ThisWorkbook.Save

    'Mensagem de confirmação ao usuário e reload do frmCadastro para nova inclusão
    MsgBox "Registro incluído no sistema com sucesso." & vbCrLf & vbCrLf & "Clique em OK para continuar.", vbInformation, "CONFIRMAÇÃO"
    Unload Me
    FORM_MENU.Show
    
Exit Sub
    
'Tratando erro
ErroNoSistema:
        MsgBox "O sistema encontrou um Erro de execução." & vbCrLf & "Contate o desensolvedor do projeto." _
        & vbCrLf & vbCrLf & "Clique em OK para encerrar a aplicação.", vbCritical, "ERROR"
        
        Application.DisplayAlerts = False
        ThisWorkbook.Save
        Application.Quit
Resume Next
End Sub
 
Postado : 30/05/2016 6:04 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Bom dia!!

Dentro do textbox de usuário tente assim.

Private Sub TextBox1_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
Dim n As Range
'favor ajustar TextBox1
Set n = [a:a].Find(TextBox1.Value, LookIn:=xlValues, lookat:=xlWhole)
    If Not n Is Nothing And TextBox1 <> "" Then
        Cancel = True
        TextBox1.Value = ""
        CreateObject("WScript.Shell").Popup "Dados duplicados & Negado", 2, "AleVBA"
    End If

End Sub

Att

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 30/05/2016 6:31 am
(@osvaldomp)
Posts: 857
Prominent Member
 

Experimente substituir estas linhas

Dim Linha As Integer
Linha = Sheets("LOGIN").Range("A" & Rows.Count).End(xlUp).Row
    Linha = Linha + 1
   
     'Salva as informações dos objetos do frmCadastro na planilha "dados"
    Sheets("LOGIN").Cells(Linha, 1).Value = TEXTBOXLOGINUSUÁRIO.Value
    Sheets("LOGIN").Cells(Linha, 2).Value = TEXTBOXLOGINSENHA.Value

por estas abaixo

Dim Linha As Integer, c As Range
 With Sheets("LOGIN")
   Set c = .Range("A:A").Find(TEXTBOXLOGINUSUÁRIO.Value, lookat:=xlWhole)
    If Not c Is Nothing Then
     MsgBox "usuário já cadastrado": Exit Sub
    End If
    'Salva as informações dos objetos do frmCadastro na planilha "dados"
   Linha = .Range("A" & Rows.Count).End(xlUp).Row + 1
   .Cells(Linha, 1).Value = TEXTBOXLOGINUSUÁRIO.Value
   .Cells(Linha, 2).Value = TEXTBOXLOGINSENHA.Value
End With

Osvaldo

 
Postado : 30/05/2016 7:43 am
(@silver)
Posts: 15
Active Member
Topic starter
 

Obrigado Osvaldo e Alexandre o código deu perfeitamente !!

 
Postado : 30/05/2016 11:36 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa noite Silver

Eu desmarquei o Resolvido para você marcar na Resposta que atendeu, não na tua mensagem.

Você já tem vários tópicos e nunca clicou na mãozinha para agradecer ao colaborador, veja como proceder clicando no link abaixo:
viewtopic.php?f=7&t=16757

[]s

Patropi - Moderador

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 30/05/2016 3:26 pm