[Access] formulaire login!!
Xtofer
Messages postés
84
Statut
Membre
-
scarpe -
scarpe -
Salut a tous, je suis entrain de faire une basse de données en access et j'aimerai inclure un formulaire qui ferait office de logon...........donc j'ai crée un formulaire et placé deux zones de texte (et un bouton connecter)......une pour le username et une autre pour le password.......mais apres je ne sais pas quoi faire... ..pour dire d'aller verifier les 2entrées vers la table des utilisateurs (la plusieurs champ on été crée, username et password forcement mais aussi , nom , prénom, bureau , etc)......cette table na aucun lien avec le reste des autres tables puisque je l'ai crée juste pour la phase de login........doit-je utilisé du code VB, une macro, du code d'access...............je c'est vraiment pas!!!
Si vous pouviez m'aider, ca serait vraiment sympa
Je vous remerci pour vos futur réponses.
bien à vous
Xtofer
Si vous pouviez m'aider, ca serait vraiment sympa
Je vous remerci pour vos futur réponses.
bien à vous
Xtofer
A voir également:
- [Access] formulaire login!!
- Whatsapp formulaire opposition - Guide
- Formulaire de réclamation facebook compte désactivé - Guide
- On me demande mon login - Forum Réseaux sociaux
- Qu'est ce qu'un "login" ✓ - Forum Webmastering
- Formulaire de reclamation instagram - Guide
7 réponses
Salut,
supposons que tu aies deux zones de texte : Z_User, Z_Pass qui sont là pour récupérer la saisie des infos, et que tu as une table User qui contient les user et mots de passe associés, ça pourrait ressembler à ça (code à mettre sur un bouton qui s'appelerait 'valider, propriété 'sur clic'') :
supposons que tu aies deux zones de texte : Z_User, Z_Pass qui sont là pour récupérer la saisie des infos, et que tu as une table User qui contient les user et mots de passe associés, ça pourrait ressembler à ça (code à mettre sur un bouton qui s'appelerait 'valider, propriété 'sur clic'') :
Dim Rs As Recordset
Dim Reconnu as Boolean
Reconnu = False
Set Rs = CurrentDb.OpenRecordset("User")
Do While Not Rs.EOF
If Rs.Fields("User").Value = Z_User.value Then
If Rs.Fields("Pass").Value = Z_Pass.Value
MsgBox "Ok"
Reconnu = True
Exit Do
Else
Msgbox "Erreur de mot de passe"
GoTo Fin
End If
End If
Rs.MoveNext
Loop
If Reconnu = False Then
MsgBox "Utilisateur non reconnu !!!", vbCritical, "Attention.."
GoTo Fin
End If
'Traitement suivants
Fin:
Salut,
Ben sur ton formulaire tu fais un bouton "login" et avec du code VBA derrière tu cherches le login dans la base, tu encodes le mot de passe, et tu vérifies que c'est la valeur attendue...
Ben sur ton formulaire tu fais un bouton "login" et avec du code VBA derrière tu cherches le login dans la base, tu encodes le mot de passe, et tu vérifies que c'est la valeur attendue...
A mon avis la avec ca je m'en rapproche.......seulement, il y a apparement une erreur lors de la compilation:
Erreur d'execution '13'
Incompatibilité de type
Je pense pourtant avoir bien retransposé le nom de la table et du formulaire; mes 2 zones de textes s'appelent:
"Z_User"
"Z_Pass"
Ma table se nomme : "Table Utilisateur" et comporte les champ "Username" et "Password"
Mon formulaire s'appelent quand a lui : "Formulaire Logon"
Private Sub Connecter_Click()
Dim Rs As Recordset
Dim Reconnu As Boolean
Reconnu = False
Set Rs = CurrentDb.OpenRecordset("Table Utilisateur")
Do While Not Rs.EOF
If Rs.Fields("Username").Value = Z_User.Value Then
If Rs.Fields("Password").Value = Z_Pass.Value Then
MsgBox "Ok"
Reconnu = True
Exit Do
Else
MsgBox "Erreur de mot de passe"
GoTo Fin
End If
End If
Rs.MoveNext
Loop
If Reconnu = False Then
MsgBox "Utilisateur non reconnu !!!", vbCritical, "Attention.."
GoTo Fin
End If
'Traitement suivants
Fin:
End Sub
Ou est le probleme???
Encore merci pour ta réponse
Erreur d'execution '13'
Incompatibilité de type
Je pense pourtant avoir bien retransposé le nom de la table et du formulaire; mes 2 zones de textes s'appelent:
"Z_User"
"Z_Pass"
Ma table se nomme : "Table Utilisateur" et comporte les champ "Username" et "Password"
Mon formulaire s'appelent quand a lui : "Formulaire Logon"
Private Sub Connecter_Click()
Dim Rs As Recordset
Dim Reconnu As Boolean
Reconnu = False
Set Rs = CurrentDb.OpenRecordset("Table Utilisateur")
Do While Not Rs.EOF
If Rs.Fields("Username").Value = Z_User.Value Then
If Rs.Fields("Password").Value = Z_Pass.Value Then
MsgBox "Ok"
Reconnu = True
Exit Do
Else
MsgBox "Erreur de mot de passe"
GoTo Fin
End If
End If
Rs.MoveNext
Loop
If Reconnu = False Then
MsgBox "Utilisateur non reconnu !!!", vbCritical, "Attention.."
GoTo Fin
End If
'Traitement suivants
Fin:
End Sub
Ou est le probleme???
Encore merci pour ta réponse
C'est assez bizar...........Dans Outils/références; Microsoft D.A.O 3.6 Object Library n'était pas coché..........c'est maintenant fait........mais ca foire toujours!..........j'ai essayé de retiré le recordset :
Set Rs = CurrentDb.Open("Table Utilisateur")
en mettant également dim rs en var:
Dim Rs As Variant
Mais la , il me met :
Erreur de compilation, Membres de méthode ou de données introuvable
Puis il me souligne en jaune : Private Sub Connecter_Click()
et prend en selection (bleu) le Open de : Set Rs = CurrentDb.Open("Table Utilisateur")
Bizar, de chez bizar...........je c meme pas ou cherché en plus
Set Rs = CurrentDb.Open("Table Utilisateur")
en mettant également dim rs en var:
Dim Rs As Variant
Mais la , il me met :
Erreur de compilation, Membres de méthode ou de données introuvable
Puis il me souligne en jaune : Private Sub Connecter_Click()
et prend en selection (bleu) le Open de : Set Rs = CurrentDb.Open("Table Utilisateur")
Bizar, de chez bizar...........je c meme pas ou cherché en plus
bhé le bouton est crée, c'est justement le code a placé derriere que je ne connais pas...........j'aurai du précisé que je suis débutant dans access Et dans la programmation!!! pleazzzz heeeelp!!!!
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Nikel!!!!! ca marche! enfin, ca fonctionne!!..........fallait gardé le recordset pour rs met le metre en variant..........ca a l'air encore plus bizar mais pas grave du moment que ca tourne..............Ca sert a quoi D.A.O ???.................Encore gros merci pour tous!!!!
Je dois y allé sinan je vais raté mon train
thx a lot
++
Xtofer
Je dois y allé sinan je vais raté mon train
thx a lot
++
Xtofer
En faite ton premier code était tres bon il manquait juste DAO devant le recordset de cette instruction :
Dim Rs As DAO.Recordset
sinan ca marche tres bien..............merci a toi blux
Xtofer
Dim Rs As DAO.Recordset
sinan ca marche tres bien..............merci a toi blux
Xtofer
Bonjour
j'ai utlisé votre code pour créer un formulaire logon. Mais il m'indique qu'il manque un Do à la loop. J'ai pourtant repris votre code exacte :
Private Sub Entrerr_Click()
Dim Rs As DAO.Recordset
Dim Reconnu As Boolean
Reconnu = False
Set Rs = CurrentDb.OpenRecordset("PRO SMAEC")
Do While Not Rs.EOF
If Rs.Fields("NOM UTILISATEUR").Value = Modifiable4.Value Then
If Rs.Fields("CODE ACCES").Value = CODE_ACCES.Value Then
MsgBox "Ok"
Reconnu = True
Exit Do
Else
MsgBox "Erreur de mot de passe"
GoTo Fin
End If
Rs.MoveNext
Loop
If Reconnu = False Then
MsgBox "Utilisateur non reconnu !!!", vbCritical, "Attention..."
GoTo Fin
End If
Dim stDocName As String
Dim stLinkCriteria As String
stDocName = "Menu Général "
DoCmd.OpenForm stDocName, , , stLinkCriteria
Exit_Entrerr_Click:
Exit Sub
Err_Entrerr_Click:
MsgBox Err.Description
Resume Exit_Entrerr_Click
Fin:
End Sub
Où est mon erreur ?
Merci de votre aide
j'ai utlisé votre code pour créer un formulaire logon. Mais il m'indique qu'il manque un Do à la loop. J'ai pourtant repris votre code exacte :
Private Sub Entrerr_Click()
Dim Rs As DAO.Recordset
Dim Reconnu As Boolean
Reconnu = False
Set Rs = CurrentDb.OpenRecordset("PRO SMAEC")
Do While Not Rs.EOF
If Rs.Fields("NOM UTILISATEUR").Value = Modifiable4.Value Then
If Rs.Fields("CODE ACCES").Value = CODE_ACCES.Value Then
MsgBox "Ok"
Reconnu = True
Exit Do
Else
MsgBox "Erreur de mot de passe"
GoTo Fin
End If
Rs.MoveNext
Loop
If Reconnu = False Then
MsgBox "Utilisateur non reconnu !!!", vbCritical, "Attention..."
GoTo Fin
End If
Dim stDocName As String
Dim stLinkCriteria As String
stDocName = "Menu Général "
DoCmd.OpenForm stDocName, , , stLinkCriteria
Exit_Entrerr_Click:
Exit Sub
Err_Entrerr_Click:
MsgBox Err.Description
Resume Exit_Entrerr_Click
Fin:
End Sub
Où est mon erreur ?
Merci de votre aide
Merci pour ton aide
j'ai trouvé ce code sur le forum qui fonctionne bien :
Private Sub Commande6_Click()
Me.Requery
Dim sql As String
Dim rs As DAO.Recordset
Static i As Byte
sql = "SELECT matable.user,matable.password FROM matable WHERE matable.user = '" & Me.txtuser & "' AND matable.password ='" & Me.txtpassword & "';"
Set rs = CurrentDb.OpenRecordset(sql)
If Not rs.EOF Then
DoCmd.OpenForm "Menu ", acNormal, , , , acWindowNormal
DoCmd.Close acForm, "identification "
Else
MsgBox "(Identifiant, Mot de Passe) incorrect ", vbInformation, "Connexion"
i = i + 1
End If
If i = 3 Then
MsgBox "Vous avez dépassé le nombre de tentatives autorisés", vbCritical
DoCmd.Quit
End If
End Sub
j'ai trouvé ce code sur le forum qui fonctionne bien :
Private Sub Commande6_Click()
Me.Requery
Dim sql As String
Dim rs As DAO.Recordset
Static i As Byte
sql = "SELECT matable.user,matable.password FROM matable WHERE matable.user = '" & Me.txtuser & "' AND matable.password ='" & Me.txtpassword & "';"
Set rs = CurrentDb.OpenRecordset(sql)
If Not rs.EOF Then
DoCmd.OpenForm "Menu ", acNormal, , , , acWindowNormal
DoCmd.Close acForm, "identification "
Else
MsgBox "(Identifiant, Mot de Passe) incorrect ", vbInformation, "Connexion"
i = i + 1
End If
If i = 3 Then
MsgBox "Vous avez dépassé le nombre de tentatives autorisés", vbCritical
DoCmd.Quit
End If
End Sub