Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

TMSR

Login Entrada

Recommended Posts

Pessoal este é o código tal qual como está no meu programa, a minha tabela de logins chama-se "Utilizadores", o form de Login chama-se "Login_Entrada" e a base a abrir depois de logar "Entrada". já fiz de tudo mas continua a dar o erro na expressão "rs.NoMatch", ja activei a biblioteca DAO 3.6 mas mesmo assim não funciona. Pensava que era um código simples mas tá dificil. Ajudem-me se puderem. ObrigadoPrivate Sub Entrar_Click()Dim rs As RecordsetDim msg As StringSet rs = CurrentDb.OpenRecordset("Utilizadores") ' abre a tabela especificadars.Index = "PrimaryKey" ' procura pela chave primariars.Seek "=", Me.LoginDigitado ' igual ao valor digitadoIf Not rs.NoMatch ThenIf Me.SenhaDigitada <> rs("senha") Then 'compara as senhasmsg = "Login ou Senha não conferem!"Elsemsg = "Bem-vindo, " & Me.LoginDigitado & "!"If vbYes ThenForm_Entrada.SetFocusEnd IfElsemsg = "Login ou Senha não conferem!"End IfMsgBox msg, vbExclamation, "Login" 'msg ao usuárioEnd Sub

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, Tenho esse código que vai ter ajudar:Construar: um form chamado login com duas caixa de texto e dois botões comando:Uso para conexão ADODB.Recordset e não tem a função do DATA NoMatch

Dim ctr As IntegerDim xTextPrivate Sub cmdlocalizar_Click()On Error GoTo cmdLocalizar ' Erro ao localizar usuariosDim LoginOK As BooleanDim rsUsu As ADODB.RecordsetLoginOK = FalseIf txtusuario.Text = "" Then MsgBox "Digite o Login do Usuário !", vbExclamation + vbCritical, " Campo Obrigatório" txtusuario.SetFocus Exit SubEnd IfIf txtsenha.Text = "" Then MsgBox "Digite a Senha do Usuário !", vbExclamation + vbCritical, " Campo Obrigatório" txtsenha.SetFocus Exit SubEnd If'abrir uma consulta com o usuário informadosql = "select * from usuario where login ='" & txtusuario.Text & "'"Set rsUsu = mycon.Execute(sql)'verificar se encontrou o usuárioIf rsUsu.EOF = True Then MsgBox "Usuário não encontrado !", vbExclamation + vbCritical, "O Usuário não confere" txtusuario.SetFocusElse 'se encontrou, verificar a senhaIf rsUsu.Fields("senha") = txtsenha.Text Then LoginOK = True 'definir que o usuário foi encontrado e a senha está OKElsectr = ctr + 1If ctr = 4 ThenEndElsexText = "Você tem mais" + Str(4 - ctr) + " chances"If ctr = 3 ThenxText = "Esta é sua última chance !!"End If MsgBox "Senha incorreta !" & vbCrLf & _ xText, vbExclamation + vbCritical, "Senha não confere" txtsenha.Text = "" txtsenha.SetFocus SendKeys "{Home}+{End}"End IfEnd IfEnd IfrsUsu.CloseSet rsUsu = NothingIf LoginOK = True Then 'exibir a mensagem de OK 'VBCrlf = quebra de linha MsgBox "Usuário encontrado com sucesso !" & vbCrLf & "Clique em OK para continuar.", vbInformation, "Autenticação OK!" form_login.Hide MDIProtocolo.ShowEnd Ifcmdlocalizar_exit:Exit SubcmdLocalizar:MsgBox Err.Description, vbInformation, "Erro ao [cmdLocalizar]"End Sub

Compartilhar este post


Link para o post
Compartilhar em outros sites

Alisson tu salvou minha pele!Seu codigo me ajudou a fazer uma tela de login do jeito q eu tava querendo!Só fiz uma alteração.Pra quem precisar taí!Só lembrando eu estou utilizando o objeto ado e o bd é sql server. belezaAbraços!On Error GoTo TrataErro ' Erro ao localizar usuariosDim cnn As New ADODB.ConnectionDim rst As New ADODB.RecordsetDim Criterio As StringDim LoginOK As Boolean'Criando uma instância do objeto Connectioncnn.Open "provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=Metta;Data Source=adriano\sqlexpress;"rst.Open "Funcionarios", cnn, adOpenDynamic, adLockReadOnlyLoginOK = FalseIf Txt(0).Text = "" Then MsgBox "Digite o Login do Usuário !", vbExclamation + vbCritical, " Campo Obrigatório" Txt(0).SetFocus Exit SubEnd IfIf Txt(1).Text = "" Then MsgBox "Digite a Senha do Usuário !", vbExclamation + vbCritical, " Campo Obrigatório" Txt(1).SetFocus Exit SubEnd If 'move-se para o primeiro registro rst.MoveFirst ' define o criterio para busca Criterio = "Login Like '" & Txt(0).Text & "'" ' inicia busca no recordset rst.Find Criterio, 0, adSearchForward'Agora imprimimos os codigos p/os clientes cujo país encontrado é USAWhile rst.EOFMsgBox "Usuario não encontrado APAGA O OTRO !"Txt(0).SetFocusExit SubWend NomeUsuario = rst.Fields("Funcionario") 'se encontrou, verificar a senha If rst.Fields("senha") = Txt(1).Text Then LoginOK = True 'definir que o usuário foi encontrado e a senha está OK Else ctr = ctr + 1 If ctr = 4 Then End Else xText = "Você tem mais" + Str(4 - ctr) + " chances" If ctr = 3 Then xText = "Esta é sua última chance !!" End If MsgBox "Senha incorreta !" & vbCrLf & _ xText, vbExclamation + vbCritical, "Senha não confere" Txt(1).Text = "" Txt(1).SetFocus SendKeys "{Home}+{End}" End If End Ifrst.CloseSet rst = NothingIf LoginOK = True ThenMdiMetta.ShowUnload MeEnd IfLvbLog_exit:Exit SubTrataErro:MsgBox err.Description, vbInformation, "Erro ao [TrataErro]"

Compartilhar este post


Link para o post
Compartilhar em outros sites

boas pessoal...eu tambem to a procura de um codigo de login mas com ligacao ao access (base de dados) tambem com um formulario, duas caixas de texto e dois butos de comando...eu pessoalmente nunca fiz um codigo de login...se m puderem ajudar eu ficaria muito grato...abracos pessoal...

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.