9 réponses
samsan
nvaros j ai quelques question pour le code que tu m a donner l autre fois est ce que tu peut m aider???
hé tu c sai comment faire un formulaire "login et mot de passe"mais ce qui est plus difficile c un autre formulaire s ouvre selon le type de l utilisateur par exemple si le typ e etait administrateur le formulaire qui s ouvre c "menu 1" si le type etait "limité" le formulaire qui s'ouvre c "menu2" je sais que c trop compliqué mais svp aidez moi!
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Tu peux utiliser les filtres pour ouvrir juste les enregistrements que tu veux.
formulaire > propriété > filtre.
Ou alors en vba tu mets "sur click"
if user = type then
stDoName = "formulaire1"
end if
if user = type then
stDoName = "formulaire2"
end if
DoCmd.OpenForm stDocName ...etc
Tu piges le principe?
formulaire > propriété > filtre.
Ou alors en vba tu mets "sur click"
if user = type then
stDoName = "formulaire1"
end if
if user = type then
stDoName = "formulaire2"
end if
DoCmd.OpenForm stDocName ...etc
Tu piges le principe?
voila le code
Private Sub Commande5_Click()
Me.Requery
Dim sql, LOGIN, PASSWORD As String
Dim rs As DAO.Recordset
Static i As Byte
sql = "SELECT * FROM USER WHERE LOGIN = \'" & Me.LOGIN & "\' AND PASSEWORD =\'" & Me.PASSEWORD & "\';"
****************Set rs = CurrentDb.OpenRecordset*********************
If Not rs.EOF Then
DoCmd.OpenForm "menu", acNormal, , , , acWindowNormal
DoCmd.Close acForm, "menu"
LOGIN = rs("LOGIN").Value
PASSWORD = rs("PASSWORD").Value
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
l'erreur se trouve dans la ligne ou il y a *************
Private Sub Commande5_Click()
Me.Requery
Dim sql, LOGIN, PASSWORD As String
Dim rs As DAO.Recordset
Static i As Byte
sql = "SELECT * FROM USER WHERE LOGIN = \'" & Me.LOGIN & "\' AND PASSEWORD =\'" & Me.PASSEWORD & "\';"
****************Set rs = CurrentDb.OpenRecordset*********************
If Not rs.EOF Then
DoCmd.OpenForm "menu", acNormal, , , , acWindowNormal
DoCmd.Close acForm, "menu"
LOGIN = rs("LOGIN").Value
PASSWORD = rs("PASSWORD").Value
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
l'erreur se trouve dans la ligne ou il y a *************
Au lieu de :
Me.Requery
Dim sql, LOGIN, PASSWORD As String
Dim rs As DAO.Recordset
Static i As Byte
sql = "SELECT * FROM USER WHERE LOGIN = \'" & Me.LOGIN & "\' AND PASSEWORD =\'" & Me.PASSEWORD & "\';"
****************Set rs = CurrentDb.OpenRecordset*********************
Fais plutôt :
Dim LOGIN, PASSWORD As String
set db = CurrentDb()
SET rs = db.OpenRecordset("SELECT * FROM USER WHERE LOGIN = \'" & Me.LOGIN & "\' AND PASSEWORD =\'" & Me.PASSEWORD & "\';" )
Tes variables de la requête ensuite s'appelle rs!variable.
Teste et dis moi ;)
Me.Requery
Dim sql, LOGIN, PASSWORD As String
Dim rs As DAO.Recordset
Static i As Byte
sql = "SELECT * FROM USER WHERE LOGIN = \'" & Me.LOGIN & "\' AND PASSEWORD =\'" & Me.PASSEWORD & "\';"
****************Set rs = CurrentDb.OpenRecordset*********************
Fais plutôt :
Dim LOGIN, PASSWORD As String
set db = CurrentDb()
SET rs = db.OpenRecordset("SELECT * FROM USER WHERE LOGIN = \'" & Me.LOGIN & "\' AND PASSEWORD =\'" & Me.PASSEWORD & "\';" )
Tes variables de la requête ensuite s'appelle rs!variable.
Teste et dis moi ;)
voila le code entier
Private Sub Commande5_Click()
Dim LOGIN, PASSWORD As String
Dim rs As Recordset
Set db = CurrentDb()
Set rs = db.OpenRecordset("SELECT * FROM USER WHERE LOGIN = \'" & Me.LOGIN & "\' AND PASSEWORD =\'" & Me.PASSEWORD & "\';")
If Not rs.EOF Then
DoCmd.OpenForm "menu", acNormal, , , , acWindowNormal
DoCmd.Close acForm, "menu"
LOGIN = rs("LOGIN").Value
PASSWORD = rs("PASSWORD").Value
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
Private Sub Commande5_Click()
Dim LOGIN, PASSWORD As String
Dim rs As Recordset
Set db = CurrentDb()
Set rs = db.OpenRecordset("SELECT * FROM USER WHERE LOGIN = \'" & Me.LOGIN & "\' AND PASSEWORD =\'" & Me.PASSEWORD & "\';")
If Not rs.EOF Then
DoCmd.OpenForm "menu", acNormal, , , , acWindowNormal
DoCmd.Close acForm, "menu"
LOGIN = rs("LOGIN").Value
PASSWORD = rs("PASSWORD").Value
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
Y'a une erreur là déja. C'est pas rs.EOF mais rs!EOF.
De plus met des msgbox au début pour tester si tu as bien des valeur dans Me.PASSEWORD et l'autre.
Dans la requête il me semble que les \' ne soit pas utile donc teste en enlevant ça aussi.
Tu ne m'as pas dit l'erreur en elle même (ce que la petite boite de dialogue affiche avant de debogage).
Je suis désolé j'ai pas trop trop de temps aujourd'hui sinon j'aurais plus appronfondit.
Teste tout ça et dis moi ce qui marche/marche pas.
De plus met des msgbox au début pour tester si tu as bien des valeur dans Me.PASSEWORD et l'autre.
Dans la requête il me semble que les \' ne soit pas utile donc teste en enlevant ça aussi.
Tu ne m'as pas dit l'erreur en elle même (ce que la petite boite de dialogue affiche avant de debogage).
Je suis désolé j'ai pas trop trop de temps aujourd'hui sinon j'aurais plus appronfondit.
Teste tout ça et dis moi ce qui marche/marche pas.
Je pense que les .VALUE sont inutile aussi. A tester.
Dans la requête il me semble que les \' ne soit pas utile donc teste en enlevant ça aussi.
Tu ne m'as pas dit l'erreur en elle même (ce que la petite boite de dialogue affiche avant de debogage).
Je suis désolé j'ai pas trop trop de temps aujourd'hui sinon j'aurais plus appronfondit.
Au pire met des msgbox au début pour tester si tu as bien des valeur dans Me.PASSEWORD et l'autre.
Teste tout ça et dis moi ce qui marche/marche pas
Dans la requête il me semble que les \' ne soit pas utile donc teste en enlevant ça aussi.
Tu ne m'as pas dit l'erreur en elle même (ce que la petite boite de dialogue affiche avant de debogage).
Je suis désolé j'ai pas trop trop de temps aujourd'hui sinon j'aurais plus appronfondit.
Au pire met des msgbox au début pour tester si tu as bien des valeur dans Me.PASSEWORD et l'autre.
Teste tout ça et dis moi ce qui marche/marche pas