|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : février 2011 Messages : 38 ![]() |
Bonsoir,
Voila j'ai une base dans la quelle il faut avoir un login est un mot de passe pour ce connecté par l'intermédiaire d'un code vba, moi ce que je voudrais c'est que les autres utilisateur ne peuvent que consulter la base est ne pas modifier les données qui apparaissent dans les formulaires. est-ce-que c'est possible de le faire ? |
|
|
00
|
|
|
#2 | ||
![]() ![]() René MAROTInscription : octobre 2005 Messages : 5 462 ![]() |
Utilises-tu la sécurité de Access (ficher .mdw) ou ta propre procédure de sécurité ?
Si c'est ta propre procédure, une solution simple serait de créer un utilisateur 'Consultation' ou quelque chose de ce genre puis pour chaque formulaire mettre dans l'événement 'Sur Ouverture' un truc du genre Code :
__________________
Vous voulez une réponse rapide et efficace à vos questions téchniques ? Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs. |
||
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : février 2011 Messages : 38 ![]() |
Bonjour marot_r,
Il me marque un message d'erreur (Erreur d'execution '424' objet requis) ci-joint les captures d'écran du code et de l'erreur Je ne vois pas d'ou viens le probléme. |
|
|
00
|
|
|
#4 | ||
![]() ![]() ![]() |
Bonjour,
Utilises plutôt l'argument OpenArgs auquel tu passes la valeur représentant le fait que ce soit en consultation seule ou en lecture écriture : Code :
__________________
Ils comptent sur vous... Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment. Web Site ‡ @Mail Livres : VBA pour OFFICE 2007 et MICROSOFT ACCESS 2007 Nouveau Tutoriel : Déployer vos applications avec Microsoft Access 2010 MDB Viewer : Visionneuse Access v4.0 |
||
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : février 2011 Messages : 38 ![]() |
Bonjour argyronet,
Merci mais peut tu être un peu plus précis STP, Faut-il que je met le code surtout mes formulaires ? A quoi correspond cette partie du code fait-elle appel a une table ? Code SQL :
Private Const CONSULTATION_SEULE AS String = "Consultation" |
|
|
00
|
|
|
#6 | ||
![]() ![]() ![]() |
Sur tous ceux qui sont susceptibles de recevoir des données...
Dans l'idéal, tu initialises une variables publique booléenne (par ex g_blnIsReadOnly) à l'ouverture de la base en fonction du profil. Tu appliques alors la valeur de celle-ci à l'événement visé : Code :
__________________
Ils comptent sur vous... Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment. Web Site ‡ @Mail Livres : VBA pour OFFICE 2007 et MICROSOFT ACCESS 2007 Nouveau Tutoriel : Déployer vos applications avec Microsoft Access 2010 MDB Viewer : Visionneuse Access v4.0 |
||
|
|
00
|
|
|
#7 |
|
Invité de passage
![]() Inscription : février 2011 Messages : 38 ![]() |
Tu me parle chinois la
Pour te dire mes connaissances en vba ce limite a ouvrir visual basic Veut tu que je redéfinis clairement mon probléme ? voila |
|
|
00
|
|
|
#8 | ||||
![]() ![]() ![]() |
Bon, eh bien on va faire plus simple. Procédons par ordre :
Comme tu sais si bien le faire, tu ouvre l'éditeur Visual Basic Tu ajoutes un Module depuis le menu Insertion Tu y recopies le bloc: Code :
Code :
__________________
Ils comptent sur vous... Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment. Web Site ‡ @Mail Livres : VBA pour OFFICE 2007 et MICROSOFT ACCESS 2007 Nouveau Tutoriel : Déployer vos applications avec Microsoft Access 2010 MDB Viewer : Visionneuse Access v4.0 |
||||
|
|
00
|
|
|
#9 |
|
Invité de passage
![]() Inscription : février 2011 Messages : 38 ![]() |
J'ai fait ce que tu m'a dit, j'ai créer un module puis j'ai ajouter le code dans mon formulaire sur l'ouverture mais il j'ai un message d'erreur qui apparait
|
|
|
00
|
|
|
#10 |
![]() ![]() ![]() |
Il faut que tu ajoutes un contrôle Etiquette dans ton formulaire que tu nommes lblReadOnlyMessage.
Tu lui donnes une taille d'environ 4cm en Arial Black rouge. Argy
__________________
Ils comptent sur vous... Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment. Web Site ‡ @Mail Livres : VBA pour OFFICE 2007 et MICROSOFT ACCESS 2007 Nouveau Tutoriel : Déployer vos applications avec Microsoft Access 2010 MDB Viewer : Visionneuse Access v4.0 |
|
|
00
|
|
|
#11 | ||||
|
Invité de passage
![]() Inscription : février 2011 Messages : 38 ![]() |
C'est bon c'est fait pour l'étiquette, mais je peut toujours modifier les données même en utilisant le login Consultation l'étiquette n'aparait pas non plus, mais il y a des choses qui me turlupine dans le code du module
Code SQL :
Pourquoi mettre "strNomUtilisateur " est a quoi il sert? a quoi correspond cette partie du code "Environ("USERNAME")" je suis désolé, je t'en quiquine surment avec mes question mais j'ai bien savoir est comprendre en 1 er lieu. Pour être plus précis quand j'ouvre ma base j'ai un formulaire qui apparait dans lequel j'ai 2 champs un txt_user (Login) et l'autre txt_pass(MdP) donc lorsque je saisie le login est le mot de passe est que je click sur mon bouton connexion j'ai ce code ci-dessous Code SQL :
qui cherche si le login correspond bien au mot de passe si oui il m'ouvre un autre formulaire qui me sert de Menu Général est dans ce formulaire j'ai 2 formulaires un qui s'appel Ouvrir Formulaire BFI est l'autre Ouvrir Formulaire PPC est se sont ces 2 formulaires que je voudrai protéger voila je pense t'avoir donnée tout les infos que je dispose |
||||
|
|
00
|
|
|
#12 | ||||||
![]() ![]() ![]() |
OK, quand tu parlais de login, je pensais LOGIN Windows d'où le
Environ("USERNAME") ce qui est recommandé en fait car tu es sûr de cibler la personne voulu. Bref, tu as établi ton propre gestionnaire d'utilisateurs dans une table. Il est important de te préciser qu'en moins de 10 secondes, je rentre dans ta base avec ce procédé. Je te conseille la lecture d'un article sur ce forum sur la sécurité. Bon, pour aller dans ton sens, voici la solution : 1/ oublier ce que je t'ai écris ci-avant (en partie) 2/ mettre dans le module une variable publique et une constante comme suit : Code :
Code :
Code :
__________________
Ils comptent sur vous... Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment. Web Site ‡ @Mail Livres : VBA pour OFFICE 2007 et MICROSOFT ACCESS 2007 Nouveau Tutoriel : Déployer vos applications avec Microsoft Access 2010 MDB Viewer : Visionneuse Access v4.0 |
||||||
|
|
00
|
|
|
#13 |
|
Invité de passage
![]() Inscription : février 2011 Messages : 38 ![]() |
C'est bon tout fonctionne correctement
Merci beaucoup |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com