Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > Sécurité
Sécurité Le forum qui s'occupe de votre préoccupation de sécuriser l'accès à votre application Access, ainsi qu'à la sécurité des données.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 20/03/2007, 07h42   #1
Membre habitué
 
Avatar de DamKre
 
Homme
Enseignant
Inscription : janvier 2007
Messages : 516
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Belgique

Informations professionnelles :
Activité : Enseignant

Informations forums :
Inscription : janvier 2007
Messages : 516
Points : 117
Points : 117
Par défaut [Sécurité] Voir le nom de l'utilisateur

Bonjour à tous.

J'ai réussi à créer un formulaire de login, comme cela est expliqué dans la FAS ( ici ).
Les utilisateurs sont "stockés" dans une table "T_Users". Mon menu général se lance. Tout ce que je souhaitait est réalisé... même si je sais que c'est de la "pesudo-sécurité" ( mais, dans l'état actuel des choses, cela me convient ).

Je me permets de poser l'une ou l'autre petite question :

1) Au moment où un utilisateur ( tiré de la table T_Users ) se "logge", il met ses trois lettres d'identification et son mot de passe.
Comment faire pour que, dans Access, on voie apparaître ( par exemple dans le menu général), que c'est "ADM" qui soit connecté?

2) Dans mon formulaire de connexion, est-ce possible que, après avoir mis mon acronyme ( "ADM" ), lorsque j'appuie sur "enter" pour entrer mon mot de passe, je voie apparaître ( pas dans une messagebox ) le message "bienvenue à administrateur" ) ( à savoir, le nom et le prénom de l'utilisateur, en référence à la création de la table T_Users ) ?

Merci de vos réponses.
DamKre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/03/2007, 08h58   #2
Rédacteur/Modérateur
 
Avatar de Domi2
 
Homme
Inscription : juin 2006
Messages : 6 233
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 52
Localisation : Suisse

Informations professionnelles :
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : juin 2006
Messages : 6 233
Points : 9 944
Points : 9 944
Envoyer un message via Skype™ à Domi2
Bonjour,

Si, cela est tout à fait possible.

Je ne sais pas quel code tu utilises exactement, ni quelle est la structure de ta table T_Users, mais pour ce qui est de récupérer l'acronyme, tu peux le passer en variable public. Ainsi, il sera disponible partout dans l'application.

Pour afficher un message de bienvenue, en admettant que ta table ait un champ "Acronyme" et un champ "TypeUtilisateur" et des champs "Nomutilisateur" et "PrenomUtilisateur" ,soit ADM, Adminisatrateur, Untel, Toto, tu peux récupérer les valeurs en utilisant la fonction DLookUp, puis faire une chaîne concaténée et l'afficher dans une MsgBox.

Domi2
__________________
Vous avez des montres, nous avons le temps ! (citation attribuée à L.-S. Senghor)

Ici, on ne perd pas de temps ! On en passe...


Access : créer des codes-barres 128 en VBA
Access : les commandes intégrées des menus

Ce message (ou un autre) vous a aidé ? Votez pour lui avec
Domi2 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/03/2007, 10h44   #3
Membre habitué
 
Avatar de DamKre
 
Homme
Enseignant
Inscription : janvier 2007
Messages : 516
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Belgique

Informations professionnelles :
Activité : Enseignant

Informations forums :
Inscription : janvier 2007
Messages : 516
Points : 117
Points : 117
Bonjour.

Pour ce qui est du code utilisé, c'est celui de la FAQ : http://access.developpez.com/faq/?page=TAAdmin#login

Citation:
Envoyé par Domi2
pour ce qui est de récupérer l'acronyme, tu peux le passer en variable public. Ainsi, il sera disponible partout dans l'application.
Comment faire passer cela dans la variable public, comment faire? Changer "Private Sub connexion_Click()" en "Public Sub connexion_Click()" ?



Citation:
Envoyé par Domi2
Pour afficher un message de bienvenue, en admettant que ta table ait un champ "Acronyme" et un champ "TypeUtilisateur" et des champs "Nomutilisateur" et "PrenomUtilisateur" ,soit ADM, Adminisatrateur, Untel, Toto, tu peux récupérer les valeurs en utilisant la fonction DLookUp, puis faire une chaîne concaténée et l'afficher dans une MsgBox.
Deux petites choses : la fonction DLookUp ne va-t-elle pas prendre uniquement le premier utilisateur,, même si c'est le 5ème qui se "logge"? Commment créer alors cette MsgBox? Via une macro?
Comment alors intégrer cette macro dans le code donné par "Morsi" dans la FAQ ?
DamKre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/03/2007, 12h38   #4
Rédacteur/Modérateur
 
Avatar de Domi2
 
Homme
Inscription : juin 2006
Messages : 6 233
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 52
Localisation : Suisse

Informations professionnelles :
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : juin 2006
Messages : 6 233
Points : 9 944
Points : 9 944
Envoyer un message via Skype™ à Domi2
Re,

D'abord, la deuxième question... Etant donnée que tu utilises un recordset, tu peux récupérer les infos de la table sans DLookup. tu modifies légérement ton code :

Code :
1
2
3
4
User_Id = rs("TRIGRAMME").Value
  User_groupe = rs("GROUPE").Value
  User_Name = rs("NOM").Value 'Nouveau
  ...
Ensuite, tu peux afficher une Msgbox avec ton message de bienvenue.

Code :
MsgBox "Bonjour" & " " & User_Name
Pour ce qui est de récupérer le trigramme dans une variable publique, j'avoue un doute

Je ne crois pas qu'il soit possible de déclarer une telle variable dans le module d'un formulaire mais je n'en suis pas sûr. Il faudrait donc mettre ta procédure de connexion dans un module standard... Sous toute réserve.

Domi2
__________________
Vous avez des montres, nous avons le temps ! (citation attribuée à L.-S. Senghor)

Ici, on ne perd pas de temps ! On en passe...


Access : créer des codes-barres 128 en VBA
Access : les commandes intégrées des menus

Ce message (ou un autre) vous a aidé ? Votez pour lui avec
Domi2 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/03/2007, 16h00   #5
Rédacteur/Modérateur
 
Avatar de Domi2
 
Homme
Inscription : juin 2006
Messages : 6 233
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 52
Localisation : Suisse

Informations professionnelles :
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : juin 2006
Messages : 6 233
Points : 9 944
Points : 9 944
Envoyer un message via Skype™ à Domi2
Re,

Après un peu de réflexion...

Tu laisses ta procédure de connexion comme elle est, à l'exception de la déclaration de la variable User_Id, que tu supprimes.

Dans un module standard, tu places simplement ce code :

Code :
1
2
3
4
Option Compare Database
Option Explicit
 
Public User_Id As String
L'identité (User_Id) de l'utilisateur sera ainsi publique et tu pourras la réutiliser dans l'ensemble de ton application.

Domi2
__________________
Vous avez des montres, nous avons le temps ! (citation attribuée à L.-S. Senghor)

Ici, on ne perd pas de temps ! On en passe...


Access : créer des codes-barres 128 en VBA
Access : les commandes intégrées des menus

Ce message (ou un autre) vous a aidé ? Votez pour lui avec
Domi2 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/03/2007, 07h48   #6
Membre habitué
 
Avatar de DamKre
 
Homme
Enseignant
Inscription : janvier 2007
Messages : 516
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Belgique

Informations professionnelles :
Activité : Enseignant

Informations forums :
Inscription : janvier 2007
Messages : 516
Points : 117
Points : 117
OK pour le message "bonjour X!". J'ai même réussi à le modifier à ma convenance

Un tout grand merci, donc.

Puis-je encore abuser de ta gentillesse???

1) Comment faire pour changer le son de ce message?

2) J'ai réussi à modifier mon menu général à ma convenance ( Outils/.../gestionnaire de menu crée un formulaire "switchboard" ).
Comment faire pour que je voie aussi le nom et le prénom de l'utilisateur dans une texbox de ce menu général ( utilisateur toujours issu de T_users"

3) Comment faire pour avoir un message "Au revoir X!" Lorsque je ferme ma DB?
DamKre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/03/2007, 08h52   #7
Rédacteur/Modérateur
 
Avatar de Domi2
 
Homme
Inscription : juin 2006
Messages : 6 233
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 52
Localisation : Suisse

Informations professionnelles :
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : juin 2006
Messages : 6 233
Points : 9 944
Points : 9 944
Envoyer un message via Skype™ à Domi2
Re,

J'imagine que tu as toujours le même code... Tu complètes...

Code :
1
2
3
4
5
User_Id = rs("TRIGRAMME").Value
  User_groupe = rs("GROUPE").Value
  User_Nom = rs("NOM").Value 'Nouveau
  User_Prenom = rs("PRENOM").Value
  ...
Et déclares ces variables dans le module précédemment indiqué.

Code :
1
2
3
4
5
6
Option Compare Database
Option Explicit
 
Public User_Id As String
Public User_Nom As String
Public User_Prenom As String
Pour le son, tu ne peux pas personnaliser dans Access, sauf erreur de ma part.

De mémoire, ce sont ceux définit dans l'environnement Windows... Mais je me trompe peut-être.

Domi2
__________________
Vous avez des montres, nous avons le temps ! (citation attribuée à L.-S. Senghor)

Ici, on ne perd pas de temps ! On en passe...


Access : créer des codes-barres 128 en VBA
Access : les commandes intégrées des menus

Ce message (ou un autre) vous a aidé ? Votez pour lui avec
Domi2 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/03/2007, 12h50   #8
Membre habitué
 
Avatar de DamKre
 
Homme
Enseignant
Inscription : janvier 2007
Messages : 516
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Belgique

Informations professionnelles :
Activité : Enseignant

Informations forums :
Inscription : janvier 2007
Messages : 516
Points : 117
Points : 117
Citation:
Envoyé par Domi2
Re,

J'imagine que tu as toujours le même code... Tu complètes...

Code :
1
2
3
4
5
User_Id = rs("TRIGRAMME").Value
  User_groupe = rs("GROUPE").Value
  User_Nom = rs("NOM").Value 'Nouveau
  User_Prenom = rs("PRENOM").Value
  ...
Et déclares ces variables dans le module précédemment indiqué.

Code :
1
2
3
4
5
6
Option Compare Database
Option Explicit
 
Public User_Id As String
Public User_Nom As String
Public User_Prenom As String
Pour le son, tu ne peux pas personnaliser dans Access, sauf erreur de ma part.

De mémoire, ce sont ceux définit dans l'environnement Windows... Mais je me trompe peut-être.

Domi2
Ce que tu me donnes, c'est pour voir le nom de l'utilisateur sur le formulaire ??? DAns quel module dois-je créer cela????? ( Désolé, je suis débutant... )
DamKre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/03/2007, 13h33   #9
Rédacteur/Modérateur
 
Avatar de Domi2
 
Homme
Inscription : juin 2006
Messages : 6 233
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 52
Localisation : Suisse

Informations professionnelles :
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : juin 2006
Messages : 6 233
Points : 9 944
Points : 9 944
Envoyer un message via Skype™ à Domi2
Re,

D'abord, tu crées un nouveau module et tu colles cette partie-là :

Code :
1
2
3
4
5
6
7
Option Compare Database
Option Explicit
 
Public User_Id As String
Public User_Nom As String
Public User_Prenom As String
Public User_Groupe As String
Tu enregistres et quand Access te demande le nom, tu indiques par exemple "basVarPublic".

Toutes les variables ainsi déclarées sont disponibles dans l'ensemble des modules de l'application.

Ensuite, si je reprend le code précédemment indiqué, je le complète en faisant suivre de 'nouveau et tu n'oublies pas de modifier la déclaration des variables, soit la ligne en tête de fonction.

En effet, si tu les déclares à deux endroits, cela va faire conflit.

Le code :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
Private Sub connexion_Click()
Dim sql As String 'Modification de la déclaration des variables
Dim rs As DAO.Recordset
 
Me.Requery
 
Static i As Byte
sql = "SELECT * FROM T_USERS WHERE TRIGRAMME = '" & Me.txt_user & "' AND PASSWD ='" & Me.txt_pass & "';"
Set rs = CurrentDb.OpenRecordset(sql)
If Not rs.EOF Then
  User_id = rs("Trigramme").Value 'La variable User_id prend la valeur du champ "Trigramme" de la table T_USERS
  User_Nom = rs("Nom").Value 'Nouveau. La variable...
  User_Prenom = rs("Prenom").Value 'Nouveau...
  User_Groupe = rs("Groupe").Value 'Nouveau
  MsgBox "Bonjour" & " " & User_Prenom & " " & User_Nom
  DoCmd.OpenForm "F_Autre_Formulaire", acNormal, , , , acWindowNormal
  DoCmd.Close acForm, "F_CONNEXION"
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
Ensuite, j'imagine que tu ouvres effectivement toujours un nouveau formulaire avec cette ligne de code :

Code :
DoCmd.OpenForm "F_Autre_Formulaire", acNormal, , , , acWindowNormal
en ayant remplacé le nom "F_Autre_Formulaire" par "frmMenuGeneral" ou "switchboard", ce nom étant celui du formulaire dans lequel tu veux voir apparaître les informations de l'utilisateur. C'est ce dernier qui t'intéresse.

Tu le modifies en y ajoutant 4 zones de textes. Tu renseignes la propriété Nom de chacun d'eux avec :

txtId
txtNom
txtPrenom
txtGroupe

et tu laisses la propriété source contrôle vide.

Enfin, dans la propriété Sur ouverture de ton formulaire, tu génères le code (les ... à droite) et tu y colles le code suivant :

Code :
1
2
3
4
Me.txtId = User_id
Me.txtNom = UserNom
Me.txtPrenom = UserPrenom
Me.txtGroupe = UserGroupe
Au final, cela doit ressembler exactement à ça

Code :
1
2
3
4
5
6
7
8
Private Sub Form_Open(Cancel As Integer)
 
    Me.txtId = User_id
    Me.txtNom = UserNom
    Me.txtPrenom = UserPrenom
    Me.txtGroupe = UserGroupe
 
End Sub
Important : tu dis que tu débutes, moi aussi, alors je me permet un conseil de débutant... Dans tout tes modules, sous la ligne "Option Compare Database", prend l'habitude de rajouter "Option Explicit"... Cela oblige à déclarer toutes les variables. Et lorsque tu as finis de taper ton code, tu compiles. S'il y'a une erreur, variable non déclarée, déclarée sous un faux type, ou une bête faute d'orthographe, Access va le signaler. On s'évite bien de l'agacement

Et comme j'ai tapé tout le texte à la volée, cela risque de s'avérer utile

Courage.

Domi2
__________________
Vous avez des montres, nous avons le temps ! (citation attribuée à L.-S. Senghor)

Ici, on ne perd pas de temps ! On en passe...


Access : créer des codes-barres 128 en VBA
Access : les commandes intégrées des menus

Ce message (ou un autre) vous a aidé ? Votez pour lui avec
Domi2 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/03/2007, 16h46   #10
Membre habitué
 
Avatar de DamKre
 
Homme
Enseignant
Inscription : janvier 2007
Messages : 516
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Belgique

Informations professionnelles :
Activité : Enseignant

Informations forums :
Inscription : janvier 2007
Messages : 516
Points : 117
Points : 117
Merci pour ta réponse. Je verrai ça à tête reposée... et je te dirai quoi...
DamKre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/03/2007, 10h40   #11
Membre habitué
 
Avatar de DamKre
 
Homme
Enseignant
Inscription : janvier 2007
Messages : 516
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Belgique

Informations professionnelles :
Activité : Enseignant

Informations forums :
Inscription : janvier 2007
Messages : 516
Points : 117
Points : 117
Re,

J'ai fait tout ce que tu m'avais indiqué : lorsque je veux compiler : impossible . C'est au moment de modifier le menu pour voir apparaître les différents nom, prénom, ... de l'utilisateur que ça coince...

DamKre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/03/2007, 10h47   #12
Rédacteur/Modérateur
 
Avatar de Domi2
 
Homme
Inscription : juin 2006
Messages : 6 233
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 52
Localisation : Suisse

Informations professionnelles :
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : juin 2006
Messages : 6 233
Points : 9 944
Points : 9 944
Envoyer un message via Skype™ à Domi2
Bonjour,

Pour compiler, c'est depuis l'éditeur VBA, menu Débogage ==> Compiler (suivi du nom de ton projet).

La commande n'est pas disponible ?

Elle est disponible mais tu as des erreurs ?

Domi2
__________________
Vous avez des montres, nous avons le temps ! (citation attribuée à L.-S. Senghor)

Ici, on ne perd pas de temps ! On en passe...


Access : créer des codes-barres 128 en VBA
Access : les commandes intégrées des menus

Ce message (ou un autre) vous a aidé ? Votez pour lui avec
Domi2 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/03/2007, 11h43   #13
Membre habitué
 
Avatar de DamKre
 
Homme
Enseignant
Inscription : janvier 2007
Messages : 516
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Belgique

Informations professionnelles :
Activité : Enseignant

Informations forums :
Inscription : janvier 2007
Messages : 516
Points : 117
Points : 117
Heuuuuuuuuuu
Dans Access, outils/créer un fichier MDE.
En principe, s'il y a une erreur quelque part, on ne peut pas créer le MDE.
C'est avec cette méthode que je me suis rendu compte qu'il y avait une erreur... et en supprimant tout et en réinsérant chaque objet un par un, je me suis rendu compte que c'était la création des 4 zones de textes dans mon menu général qui coinçait...
DamKre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/03/2007, 11h51   #14
Rédacteur/Modérateur
 
Avatar de Domi2
 
Homme
Inscription : juin 2006
Messages : 6 233
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 52
Localisation : Suisse

Informations professionnelles :
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : juin 2006
Messages : 6 233
Points : 9 944
Points : 9 944
Envoyer un message via Skype™ à Domi2
Re,

Ne crois-tu pas qu'il n'est pas encore vraiment temps de créer un fichier MDE

Une chose après l'autre... ton MDE, tu le créeras quand tu auras fini ton application...

Ensuite, il te faut régler le problème de la création des tes 4 zones de textes sur ton formulaire... quel est le problème que tu rencontres ?

Ensuite, quand ce sera fait, tu pourras aller de l'avant...

Domi2
__________________
Vous avez des montres, nous avons le temps ! (citation attribuée à L.-S. Senghor)

Ici, on ne perd pas de temps ! On en passe...


Access : créer des codes-barres 128 en VBA
Access : les commandes intégrées des menus

Ce message (ou un autre) vous a aidé ? Votez pour lui avec
Domi2 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/03/2007, 12h39   #15
Membre habitué
 
Avatar de DamKre
 
Homme
Enseignant
Inscription : janvier 2007
Messages : 516
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Belgique

Informations professionnelles :
Activité : Enseignant

Informations forums :
Inscription : janvier 2007
Messages : 516
Points : 117
Points : 117
RE
Citation:
Envoyé par Domi2
Ne crois-tu pas qu'il n'est pas encore vraiment temps de créer un fichier MDE

Je te rassure, je sais que ce n'est pas le moment. Je le fais juste parce qu'ainsi, je peux voir s'il subsiste une erreur quelque part.

Je recopierai les messages d'erreur, et je te dirai quoi demain
DamKre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/03/2007, 07h56   #16
Membre habitué
 
Avatar de DamKre
 
Homme
Enseignant
Inscription : janvier 2007
Messages : 516
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Belgique

Informations professionnelles :
Activité : Enseignant

Informations forums :
Inscription : janvier 2007
Messages : 516
Points : 117
Points : 117
RE,

Lorssque je me connecte avec mon formulaire de login/mdp, il me met le message joint en photo 1, visual basic s'ouvre ( photo 2 ).

En photo 3, tu trouveras ce que j'ai tapé ( module basvarpublic ).

As-tu une solution?????
DamKre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/03/2007, 10h18   #17
Rédacteur/Modérateur
 
Avatar de Domi2
 
Homme
Inscription : juin 2006
Messages : 6 233
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 52
Localisation : Suisse

Informations professionnelles :
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : juin 2006
Messages : 6 233
Points : 9 944
Points : 9 944
Envoyer un message via Skype™ à Domi2
Bonjour,

Ca avance...

Pourrais-tu poster la totalité de ton code ?

D'autre part, tous les champs "PRENOM" de la table sont-ils renseignés ?

"Utilisation incorrecte de Null" survient avec des variables = "" alors qu'Access attend une valeur. Ce n'est donc, en principe, qu'un petit problème à régler

Domi2
__________________
Vous avez des montres, nous avons le temps ! (citation attribuée à L.-S. Senghor)

Ici, on ne perd pas de temps ! On en passe...


Access : créer des codes-barres 128 en VBA
Access : les commandes intégrées des menus

Ce message (ou un autre) vous a aidé ? Votez pour lui avec
Domi2 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/03/2007, 12h38   #18
Membre habitué
 
Avatar de DamKre
 
Homme
Enseignant
Inscription : janvier 2007
Messages : 516
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Belgique

Informations professionnelles :
Activité : Enseignant

Informations forums :
Inscription : janvier 2007
Messages : 516
Points : 117
Points : 117
Voici mon code :


Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
Option Compare Database
 
Private Sub connexion_Click()
Me.Requery
Dim sql, User_Id, User_Groupe   As String
Dim rs As DAO.Recordset
Static i As Byte
sql = "SELECT * FROM T_USERS WHERE TRIGRAMME = '" & Me.txt_user & "' AND PASSWD ='" & Me.txt_pass & "';"
Set rs = CurrentDb.OpenRecordset(sql)
 
If Not rs.EOF Then
 
'En fonction de la valeur de "Groupe"....
Select Case rs("Groupe").Value
   Case "Administrateurs"
       DoCmd.OpenForm "Switchboard", acNormal, , , , acWindowNormal
       DoCmd.Close acForm, "Connexion"
         User_Id = rs("TRIGRAMME").Value
         User_Groupe = rs("GROUPE").Value
         User_Surname = rs("PRENOM").Value 'Nouveau
         User_Name = rs("NOM").Value 'Nouveau
        MsgBox "Bienvenue à" & " " & User_Surname & " " & User_Name & " !", vbOKOnly, "Nomdemonapplication"
   Case "Utilisateurs"
       DoCmd.OpenForm "Switchboard", acNormal, , , , acWindowNormal
       DoCmd.Close acForm, "Connexion"
         User_Id = rs("TRIGRAMME").Value
         User_Groupe = rs("GROUPE").Value
         User_Surname = rs("PRENOM").Value 'Nouveau
         User_Name = rs("NOM").Value 'Nouveau
        MsgBox "Bienvenue à" & " " & User_Surname & " " & User_Name & " !", vbOKOnly, "Nomdemonapplication"
   Case "Secrétaires"
       DoCmd.OpenForm "Menu Général Secrétaires", acNormal, , , , acWindowNormal
       DoCmd.Close acForm, "Connexion"
         User_Id = rs("TRIGRAMME").Value
         User_Groupe = rs("GROUPE").Value
         User_Surname = rs("PRENOM").Value 'Nouveau
         User_Name = rs("NOM").Value 'Nouveau
        MsgBox "Bienvenue à" & " " & User_Surname & " " & User_Name & " !", vbOKOnly, "Nomdemonapplication"
        MsgBox "Vous êtes connecté(e) en tant que secrétaire...", vbInformation, "Nomdemonapplication - Information"
   Case "Invités"
       DoCmd.OpenForm "Menu Général Invités", acNormal, , , , acWindowNormal
       DoCmd.Close acForm, "Connexion"
         User_Id = rs("TRIGRAMME").Value
         User_Groupe = rs("GROUPE").Value
         User_Surname = rs("PRENOM").Value 'Nouveau
         User_Name = rs("NOM").Value 'Nouveau
        MsgBox "Bienvenue à" & " " & User_Surname & " " & User_Name & " !", vbOKOnly, "Nomdemonapplication"
        MsgBox "Vous êtes connecté(e) en tant qu'Invité...", vbInformation, "Nomdemonapplication - Information"
 
End Select
 
Else
  MsgBox "Identifiant et/ou Mot de Passe incorrect !", vbInformation, "Nomdemonapplication - Connexion : Erreur"
  i = i + 1
End If
If i = 3 Then
MsgBox "Vous avez dépassé le nombre de tentatives autorisés ! Nomdemonapplication va maintenant se fermer !", vbCritical, "Nomdemonapplication - Connexion impossible !"
DoCmd.Quit
End If
End Sub
Je précise que j'envoie, en fonction du groupe de l'utilisatateur, vers un formulaire spécifique...

As-tu une solution???
DamKre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/03/2007, 13h43   #19
Rédacteur/Modérateur
 
Avatar de Domi2
 
Homme
Inscription : juin 2006
Messages : 6 233
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 52
Localisation : Suisse

Informations professionnelles :
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : juin 2006
Messages : 6 233
Points : 9 944
Points : 9 944
Envoyer un message via Skype™ à Domi2
Re,



Citation:
Domi2 avait dit :

D'autre part, tous les champs "PRENOM" de la table sont-ils renseignés ?


La seule façon dont j'arrive à reproduire ton erreur, c'est avec un champ PRENOM vide...

Le code fonctionne, mais il y'a encore à faire.

D'abord, corrige la déclaration des variables comme je te l'avais dit :

Code :
1
2
3
4
5
Dim sql As String
 
et pas
 
Dim sql, User_Id, User_Groupe   As String
Ca ne va pas provoquer d'erreur, mais User_Id et User_Groupe seront "".

Ensuite, as-tu essayé de cliquer sur ton bouton "connexion" sans renseigner le champ "trigramme" du formulaire ?

Et après, tu pourrais essayé d'optimiser un peu ton code...

Avec 15 lignes en moins, il devrait fonctionner aussi bien...

Courage

Domi2
__________________
Vous avez des montres, nous avons le temps ! (citation attribuée à L.-S. Senghor)

Ici, on ne perd pas de temps ! On en passe...


Access : créer des codes-barres 128 en VBA
Access : les commandes intégrées des menus

Ce message (ou un autre) vous a aidé ? Votez pour lui avec
Domi2 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/04/2007, 11h23   #20
Membre habitué
 
Avatar de DamKre
 
Homme
Enseignant
Inscription : janvier 2007
Messages : 516
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Belgique

Informations professionnelles :
Activité : Enseignant

Informations forums :
Inscription : janvier 2007
Messages : 516
Points : 117
Points : 117
Re,

En mettant un prénom dans chacun de mes utilisateurs, l'erreur a disparu

Reste un autre problème : en effet, au moment de s'ouvrir, seul le champ trigramme ( exemple "ADM" ) s'affiche comme prévu. Le nom et le prénom de l'utilisateur ( "Jean" et "Peuplu" ) ne s'affichent pas, eux.........

AS-tu une solution?

Merci à toi pour ton aide...

DamKre
DamKre est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 09h50.


 
 
 
 
Partenaires

Hébergement Web