Session Multiutisateur

Fermé
karan - 29 juil. 2013 à 06:06
blux Messages postés 26030 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 10 mai 2024 - 1 août 2013 à 08:26
Bonjour,


je suis en train de créer une base de données access, je veux limité les access à chaque formulaire pour chaque utilisateur.

j'ai créer la bouton d'exécution command5
j'ai créer les
je veux que l'utilisateur "Chef" se dirige automatiquement vers la formulaire Base
et l'utilisateur "admin" se dirige vers la formulaire Manquant

voici le code

Private sub Command5_Click()
username.setfocus
If username = "Chef" And Password = "0001" Then
MsgBox "Access Garanted", vbInformation, "Base"
MsgBox "welcome", vbInformation, "Base"
DoCmd.close
DoCmd.OpenForm "Base"
ElseIf Username = "Admin" And Password = "1110" Then
MsgBox "Access Garanted", vbInformation, "Manquant"
MsgBox "welcome", vbInformation, "Manquant"
DoCmd.close
DoCmd.OpenForm "Manquant"
Else
MsgBox "Please re-enter your Username and Password."
End If
End Sub

Pouvez vous m'aider SVP

Merci d'avance.

3 réponses

castours Messages postés 2955 Date d'inscription lundi 18 septembre 2006 Statut Membre Dernière intervention 31 août 2019 217
29 juil. 2013 à 10:39
bonjour
Je ne connais pas beaucoup la creation en VBA mais il me semble que cette ligne est fausse
ElseIf Username = "Admin" And Password = "1110" Then
Il faudrait
Else
If Username = "Admin" And Password = "1110" Then
A voire pas une certitude
0
f894009 Messages postés 17189 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 6 mai 2024 1 705
31 juil. 2013 à 15:24
Bonjour,

Ai teste votre code, ca marche!!! Que ce passe-t-il chez vous???????
0
blux Messages postés 26030 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 10 mai 2024 3 289
31 juil. 2013 à 17:30
Salut,

et quelle est l'erreur ? A quelle ligne ?
0
castours Messages postés 2955 Date d'inscription lundi 18 septembre 2006 Statut Membre Dernière intervention 31 août 2019 217
31 juil. 2013 à 17:41
Bonjour blux
C'est a propos de la ligne que j'ai signalé comme fausse me semble t'il ..
Peut tu me confirmer?
Pour ma connaissance
merci
0
blux Messages postés 26030 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 10 mai 2024 3 289
31 juil. 2013 à 18:05
Je confirme que le mot-clé 'elseif' n'existe pas.
Cependant, vu qu'access retransforme les mot-clés reconnus en mot-clés avec majuscules, je serais tenté de dire que c'est la recopie du code qui a fait se coller le Else et le If...

Il est plutôt possible que ça soit le DoCmd.Close qui coince, car il ne vise pas un objet (et on ne peut pas fermer celui sur lequel on est en train d'exécuter le code) ou alors un oubli du .value quand on teste le contrôle 'username'... Enfin bref, plusieurs possibilités, donc en attente du rédacteur pour en savoir plus.
0
castours Messages postés 2955 Date d'inscription lundi 18 septembre 2006 Statut Membre Dernière intervention 31 août 2019 217
31 juil. 2013 à 19:01
merci blux de ta confirmation
0
f894009 Messages postés 17189 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 6 mai 2024 1 705
31 juil. 2013 à 19:39
Bonjour a vous deux,

Je confirme que le mot-clé 'elseif' n'existe pas. Eh, si comme dans VBA excel ou autre VB


ElseIf: aide access

If...Then...Else, instruction, exemple
Cet exemple illustre l'instruction If...Then...Else sous la forme d'une ligne unique ou d'un bloc. Il présente également l'utilisation de l'instruction If TypeOf...Then...Else.

Dim Number, Digits, MyString
Number = 53 ' Initialise la variable.
If Number < 10 Then
Digits = 1
ElseIf Number < 100 Then
' Si la condition prend la valeur True,
' l'instruction suivante est exécutée.
Digits = 2
Else
Digits = 3
End If

' Attribue une valeur en utilisant la syntaxe sur une seule ligne.
If Digits = 1 Then MyString = "Un" Else MyString = "Plusieurs"

Utilisez la construction If TypeOf pour déterminer si le contrôle transféré dans une procédure est une zone de texte.

Sub ControlProcessor(MyControl As Control)
If TypeOf MyControl Is CommandButton Then
Debug.Print "Vous êtes passé dans un contrôle " & TypeName(MyControl)
ElseIf TypeOf MyControl Is CheckBox Then
Debug.Print "Vous êtes passé dans un contrôle " & TypeName(MyControl)
ElseIf TypeOf MyControl Is TextBox Then
Debug.Print "Vous êtes passé dans un contrôle " & TypeName(MyControl)
End If
End Sub

Sans rencune,

Bye
0
blux Messages postés 26030 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 10 mai 2024 3 289
1 août 2013 à 08:26
Au temps pour moi ! J'ai testé la syntaxe sous access, qui me l'a surlignée en rouge, mais c'est parce que je n'avais pas mis le then sur la même ligne...
Mea culpa, donc !
0