|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Débutant
Inscription : octobre 2004 Messages : 432 ![]() |
Bonjour,
Sur un formulaire frm_main, j'ai un bouton de commande qui permet d'ouvrir un formulaire frm_access. Sur le frm_main, j'ai une zone de texte "User" avec comme source contrôle =Utilisateur() J'aimerais pouvoir bloquer l'accès au frm_access à certains users quand je le désire et leur redonner accès. Pour cela, j'ai crée une table tbl_access avec les champs suivants : User : texte Validation : Yes/No Sur mon bouton de commande, j'ai le code suivant mais il ne fonctionne pas : Code :
|
||
|
|
00
|
|
|
#2 |
|
Membre régulier
![]() Inscription : février 2010 Messages : 100 ![]() |
Bonjour,
Et... l'erreur vient de quelle ligne ? A vue de nez, je dirais la ligne 8 ; tbl_access est une table, dc tu ne peux pas l'atteindre comme ça. Apparemment, ta fontion "utilisateur()" te permet d'identifier l'utilisateur. A partir de là : - Requête sur tbl_access pour identifier les droits correspondants au nom de l'utilisateur (donc qqc comme : Code :
rqsql = "Select Validation FROM tbl_access WHERE Utilisateur = " & User - Exécution de la requête. - Test sur le résultat (si le résultat, dans le recordset, est True, ouverture, sinon, msgbox). Un peu comme ce que tu fais là ! Cordialement, Beub'. |
|
|
00
|
|
|
#3 |
|
Débutant
Inscription : octobre 2004 Messages : 432 ![]() |
Oui l'erreur vient bien au départ de la ligne 8.
Mais je ne sais vraiment pas comment m'y prendre pour incorporer le sql dans le code ... |
|
|
00
|
|
|
#4 | ||||
|
Débutant
Inscription : octobre 2004 Messages : 432 ![]() |
J'ai un peu avancé
Code :
J'aimerais aussi savoir comment mettre une condition sur le résultat de ce requête ? Code :
|
||||
|
|
00
|
|
|
#5 | ||
|
Membre régulier
![]() Inscription : février 2010 Messages : 100 ![]() |
Bonjour,
Tu es effectivement sur la bonne voie ! Reste à identifier ensuite les tests exacts que tu souhaites effectuer..! A titre d'exemple : Est-il possible d'avoir plusieurs utilisateurs enregistrés sous le même nom dans cette table ? Par exemple : - User1 avec Validation = TRUE - User2 avec Validation = TRUE - User3 avec Validation = FALSE - User1 avec Validation = FALSE Dans ce cas, ta requête (sur User1) retournerait deux résultats => lequel devra être pris en compte ? True ou False ? De même, que se passe-t-il si aucun résultat n'est retourné par la requête ? Petit morceau de code (non testé mais je crois que je n'ai pas pris de risque.. Code :
Pour tester le contenu de ton recordset : NomDuRecordset!["NomDuChamp"] ! En espérant que ça t'aidera. Cordialement, Beub' |
||
|
|
00
|
|
|
#6 | |||||
|
Débutant
Inscription : octobre 2004 Messages : 432 ![]() |
Citation:
Non il n'est pas possible qu'il y ait plusieurs mêmes users. User (texte)------Validation(Oui/Non) Jean-------------True Marc-------------False Sébastien--------True etc etc J'ai essayé le code suivant mais lorsque je click sur le bouton de commande qui me permet d'ouvrir ou non le formulaire frm_access, il m'indique un message : "Trop peu de paramètre. 1 attendu". Code :
|
|||||
|
|
00
|
|
|
#7 | ||
|
Membre régulier
![]() Inscription : février 2010 Messages : 100 ![]() |
Bonjour,
Le problème vient de ta requête SQL. Code :
reqSQL = "Select Validation FROM tbl_access WHERE Utilisateur = User" S'il s'agit d'une variable, elle doit être "sortie" de la chaine de cette façon : Code :
Je ne sais pas si je suis très clair mais, dans le pire des cas, go google pour la création de requêtes SQL en VBA Access Cordialement, Beub'. |
||
|
|
00
|
|
|
#8 | |||||
|
Débutant
Inscription : octobre 2004 Messages : 432 ![]() |
Citation:
Code :
|
|||||
|
|
00
|
|
|
#9 | ||
|
Débutant
Inscription : octobre 2004 Messages : 432 ![]() |
Enfin ca marche avec le code suivant mais j'ai un message :
Variable objet ou variable de bloc With non définie Comment cela se fait ? Code :
|
||
|
|
00
|
|
|
#10 |
|
Débutant
Inscription : octobre 2004 Messages : 432 ![]() |
Ca marche !!! J'ai juste supprimé les variables avec valeur nothing
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com