Session Multiutisateur

karan -  
blux Messages postés 27147 Date d'inscription   Statut Modérateur Dernière intervention   -
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   Statut Membre Dernière intervention   217
 
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 17277 Date d'inscription   Statut Membre Dernière intervention   1 715
 
Bonjour,

Ai teste votre code, ca marche!!! Que ce passe-t-il chez vous???????
0
blux Messages postés 27147 Date d'inscription   Statut Modérateur Dernière intervention   3 362
 
Salut,

et quelle est l'erreur ? A quelle ligne ?
0
castours Messages postés 2955 Date d'inscription   Statut Membre Dernière intervention   217
 
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 27147 Date d'inscription   Statut Modérateur Dernière intervention   3 362
 
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   Statut Membre Dernière intervention   217
 
merci blux de ta confirmation
0
f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 715
 
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 27147 Date d'inscription   Statut Modérateur Dernière intervention   3 362
 
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