|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | |
|
Invité régulier
![]() Inscription : mai 2008 Messages : 34 ![]() |
Bonjour
J'aurai s'il vous plaît besoin des connaissances de personnes connaissant l'art de coder pour me permettre de déterminer ce qui coince dans mon formulaire. Explications: Pour mon travail j'ai du créer une base de gestion de bons de travail, celle ci fonctionnant on m'a demandé de rajouter à cette dernière le suivi de la facturation. Or j'ai deux commerciaux (superieur/subalterne) , mon problème vient du fait que je dois isoler les deux bases et que superieur doit pouvoir visualiser subalterne mais pas l'inverse... Pour se faire j'ai tenté de reprendre les principes décrits par marot_r dans les deux posts qui sont relatifs à cette méthode. Mais le résultat n'est pas concluant et comme je ne connais rien au code et que peu en Access, je ne vois pas mon erreur ( qui doit être gigantesque pour un habitué). J'ai une table tblpassword qui contient trois champs ( clef primaire numeroauto, et nom et code de type texte) et qui reprend le nom de l'utilisateur et son mot de passe. J'ai un formulaire formpassword qui contient mes deux champs de saisie nom et code ainsi qu'un bouton. Le premier champ me permet de sélectionner le nom ( zone de liste déroulante), le second de saisir le mot de passe. Jusque là tout fonctionne, mais ça se corse. J'ai mis comme évènement pour le bouton ouvrir un formulaire : Mon problème est celui ci lorsque je clique sur le bouton. soit dans le cadre de la saisie d'un mot de passe bon ou mauvais j'ai un retour d'erreur "3078" et l'ouverture de mon formulaire protégé. soit dans le cadre d'un champs mot de passe vide l'ouverture directe de mon formulaire protégé. Pour une mise en place de sécurisation, c'est pour le moins ballot... je vous donne mon code: Citation:
J'ai remplacé ClefUsager et MotDePasse par les noms de mes champs et si lors du débogage au début j'ai bien un renvoi des données inscrites dans les zones de mon formulaire le renvoi est "=vide" dès la ligne dimcode as variant sur le terme code... Si quelqu'un a une idée pour me guider ce ne serait pas de refus ( je tourne autour de cela depuis ce matin). Cordialement |
|
|
|
00
|
|
|
#2 | |
![]() ![]() Maintenance données produits Inscription : décembre 2005 Messages : 3 941 ![]() |
Bonsoir
Essaie Citation:
"[code]" est le champ dont DFirst retourne la valeur "tblpassword" est la table dans laquelle on fait la recherche "NOM=""" & prmNOM & """" est le critère A+ |
|
|
|
00
|
|
|
#3 |
|
Invité régulier
![]() Inscription : mai 2008 Messages : 34 ![]() |
Bonjour et merci de m'apporter ton soutien une fois de plus LedZeppII ( ps c'est toujours la même p***** de base que le mois passé!!!).
J'ai essayé en entrant tblpassword au lieu de code comme indiqué et j'ai un changement :je suis passé en erreur 2001 => opération annulée. Je précise que CODE ( avant le "=" et après Dim renvoient toujours CODE = vide???). Quand je clique sur mon bouton en ayant entré le bon mdp ou un mauvais et j'ai le message d'erreur, je fais fin et ça ouvre mon formulaire protégé. Soit je ne rentre rien dans les 2 champs ou dans le champs code et ça ouvre le formulaire sans difficulté... Cordialement |
|
|
00
|
|
|
#4 |
|
Invité régulier
![]() Inscription : mai 2008 Messages : 34 ![]() |
Bonjour
Si je remplace par ( n'importe quoi pour essayer quelque chose), alors ça ne fonctionne pas mieux (toujours les même erreurs) mais par contre à la ligne Code :
CODE = DFirst("[prmCODE]", "TBLPASSWORD", "[NOM]" = """" & prmNOM CODE = prend bien cette fois la valeur de mon mot de passe inscrit dans le formulaire. Quelqu'un a t'il une idée? Cordialement |
|
|
00
|
|
|
#5 |
|
Invité régulier
![]() Inscription : mai 2008 Messages : 34 ![]() |
Bonjour
bon après avoir retapé mon code ça fonctionne Par contre si nom et code sont vides ça ouvre mon formulaire en direct Et cela ne fonctionne que pour un seul enregistrement ( nom) le second n'est pas pris). |
|
|
00
|
|
|
#6 | ||
![]() ![]() Maintenance données produits Inscription : décembre 2005 Messages : 3 941 ![]() |
Bonsoir,
Voici un exemple. Table : TBLPASSWORD (Cle, Nom, Code) Formulaire avec deux zones de texte (txtNom, txtCode) et un bouton (cmdOK) Code vba :
|
||
|
|
00
|
|
|
#7 | ||
|
Invité régulier
![]() Inscription : mai 2008 Messages : 34 ![]() |
Bonjour
ça fonctionne très bien par contre le code suivant me renvoie une boite de message vrai/ faux Code :
Cordialement |
||
|
|
00
|
|
|
#8 |
![]() ![]() Maintenance données produits Inscription : décembre 2005 Messages : 3 941 ![]() |
Bonjour,
C'était juste un exemple pour montrer le résultat de la fonction MOTDEPASSEVALIDE. Pour ouvrir ton formulaire tu fais Code vb :
If MOTDEPASSEVALIDE(Nz(Me.txtNom), Nz(Me.txtCode)) Then DoCmd.OpenForm "Le Nom Du Formulaire" Ça peut être un le "Clic" d'un bouton ou l'événement "Sur Sortie" de txtCode. A+ |
|
|
00
|
|
|
#9 |
|
Invité régulier
![]() Inscription : mai 2008 Messages : 34 ![]() |
![]() Merci beaucoup ça fonctionne!!! Et dire que ça semble si facile quand on a la solution. Il ne me reste plus qu'a solutionner mes problèmes de print et de coche ( objet d'un autre post ) et toute cette affaire va rouler. Encore merci pour l'aide fournie Cordialement |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com