Access - VBA : requette

Fermé
elbch Messages postés 19 Date d'inscription vendredi 5 mars 2004 Statut Membre Dernière intervention 18 juin 2004 - 29 avril 2004 à 15:34
youyou19752001 Messages postés 1 Date d'inscription vendredi 2 juillet 2004 Statut Membre Dernière intervention 2 juillet 2004 - 2 juil. 2004 à 10:08
Boujour tout le monde
Je suis en train de faire un programme access sous VBA dans le cadre de mon stage dans une usine:
Le problème c'est que je connais Visual basic mais pas VBA.
j'ai crée des tables des formulaires ...

Et avant tout ca : j'ai créé un tableau contenant les login et les password pour les utilisateurs de l'application finale, et un formularie pour pouvoir encoder les utilisateurs, les supprimer ....
Dans ce formulaire il y a une zone de liste contenant l'ensemble des "login" . et des zones de texte qui doivent contenir les détails sur le login selectionné.
mais voila pour remplir ces zones de texte je fais une requette pour aller selectionner dans le tableau où sont stoqués les données les recuperer afin de remplir les zones de texte ; voila la prtie du code correspondante à cette instruction; mais le problème c'est que ca bloque au niveau de la requette en m'affichant le message d'erreur suivant :
 
« Erreur d’execution 3061
trop peu de paramètres. 1 attendu. »


voici le morceau du code

Dim db As DAO.Database
Dim rst As DAO.Recordset
' ouvrir un Recordset basé sur la table T_sécurité
Set db = CurrentDb()
Set rst = db.OpenRecordset("Select * from [T_securite] where ([Login]= " & txtLogin.Value & ")")
Msgbox(“passage ici”)
Me.txtIDLogin.Value = rst!IDLogin
Me.txtMot_De_Passe.Value = rst!Mot_De_Passe
Me.txtNiveau.Value = rst!Niveau


Merci d'avance et désolé pour la longuer du message: je voulai être plus clair.

5 réponses

Utilisateur anonyme
30 avril 2004 à 01:53

désolé pour la longuer du message: je voulai être plus clair.


ne sois pas désolé, c'est parfait, au contraire.

il faudrait que tu donnes la structure de ta table. De tête je ne sais plus mais sois ta synntaxe cloche, auquel cas tu peux te contenter de

SELECT * FROM T_securite WHERE Login = " & txtLogin.value & ";"


je ne sais plus et je ne vais pas rebooter pour ça mais dans le doute j'ai quand même rajouté le point-virgule. Mais il se peut qu'il soit facultatif. Pour les parenthèses et les crochets, Access en fait toujours des tonnes, ce n'est pas nécessaire. Je crois même qu'en l'occurrence ça peut être un problème...

sinon, je demande à tout hasard, tu as bien un champ Login dans ta table?

sans aucun rapport: ce n'est pas comme ça qu'on gère la sécurité sous Access, les outils à ta disposition, de la création du fichier de groupe de travail à celle des utilisateurs et des groupes et de leurs permissions est à la fois plus solide et plus sûr, et surtout c'est l'outil ad hoc.
Mais c'est toi qui vois...

kinder.surprise,
caractère banane
0
elbch Messages postés 19 Date d'inscription vendredi 5 mars 2004 Statut Membre Dernière intervention 18 juin 2004
30 avril 2004 à 18:52
Merci mister kinder
Je vais essayer ce point virgule et voir si ca marche.
Effectivement j'ai un champ qui s'appel Login. Et j'ai même testé avec d'autres champs et c'est toujours la même chose.
Concernant la gestion de sécurité: j'utilise un formulaire de gestion des utilisateurs, car l'application est destinée à des gens qui connaissent moins que moi access (disant qu'ils le connaissent pas du tout), et alors je veux leur faie une application avec une interface plus simple , sans être obligé de rentrer sur access.
En plus moi j'ai dégà utilisé le menu "outil" - sécurité pour proteger par un mot de passe une BD mais sans aller plus loin: je l'ai jamais utilisé pour gérer un groupe d'utilisateurs; mais je vais aussi essayer de le faire pour voir si c'est facil pour eux (eux : le maitre de mon stage et son équipe):

Merci encore une fois, je te tiendrais au courant.
0
elbch Messages postés 19 Date d'inscription vendredi 5 mars 2004 Statut Membre Dernière intervention 18 juin 2004
8 mai 2004 à 19:38
Slt
ok j'ai trouvé: jai juste ajouté une apostrophe après le signe =
Pourtant j'ai un vouveau pb : c'est que j'arrive pas à masquer le mot de passe et le faie apparaitre sous forme des * au moment de la frappe.
0
essai avec un masque de saisie, directement dans la table, il y en a mm un qui s appelle "pasword " je crois.
0
Je pense que ton champ Login est de type texte.
Essayes de modifier ta requête SQL en encapsulant ton txtlogin par des '
Exemple :
Select * from [T_securite] where ([Login]= '" & txtLogin.Value & "')")
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
youyou19752001 Messages postés 1 Date d'inscription vendredi 2 juillet 2004 Statut Membre Dernière intervention 2 juillet 2004
2 juil. 2004 à 10:08
bonjour; je suis etudiant actuellement je suis en stage , je travail avec access, jai une question à vous demandez svp
est ce que vous pouvez me dire comment codez le formulaire de sécurité , et si ces possible explique moi cmt coder ce formulaire
moi j'arrive pas , en fet moi je travail avec accsess 97
je vous remerci d'avance
0