[ACCESS] Utiliser l'ID sur lequel on clique

Fermé
Lucd33 Messages postés 11 Date d'inscription jeudi 3 juillet 2014 Statut Membre Dernière intervention 20 août 2014 - Modifié par Lucd33 le 15/07/2014 à 15:42
Lucd33 Messages postés 11 Date d'inscription jeudi 3 juillet 2014 Statut Membre Dernière intervention 20 août 2014 - 16 juil. 2014 à 10:22
Bonjour,

j'ai un problème assez simple sur lequel je bloque depuis quelques jours.

je vous l'explique en image.

j'ai un formulaire en mode split form qui m'affiche des agences quand je clique sur une ligne dans la datasheet view(comme ceci, la datasheet view est en dessous)


le champ id en bas a gauche change donc a chaque fois


sur ce champ j'ai un event quand je clique dont voici la Macro:



et quand je clique cette fenetre s'ouvre:


Quand j'inscrit "1" et que je fait entrée ou OK, j'ai le formulaire voulu qui s'ouvre à l'enregistrement comportant l'ID 1 ( sans filtre il affiche tout les enregistrements).




Et ce que j'aimerait c'est qu'au lieu de me demander un ID quand je clique sur ma case la Macro d'ouverture de formulaire prenne directement la valeur de l'ID sur lequel je clique comme filtre.

Voila, et je vous en supplie je ne demande pas d'avis sur le fonctionnement de ma base de données, optimisation etc, cette base n'est qu'un test et j'aimerais que les seules réponses du sujet concerne directement le problème qui est je pense assez précis.


Cordialement,
Luc

6 réponses

Bonjour,
Il y a bien longtemps que je n'utilise plus les macros, mais il y a de grandes chances que le problème vienne d'une mauvaise écriture de la condition. Regarde sur le tutoriel. Est-on vraiment obligé d'écrire "= [ID]=[blablabla]"
0
Lucd33 Messages postés 11 Date d'inscription jeudi 3 juillet 2014 Statut Membre Dernière intervention 20 août 2014
15 juil. 2014 à 20:35
Je ne sais pas du tout ce que je suis sensé mettre sur cette ligne justement, je ne trouve aucun tutoriel récent assez précis la dessus.

Si tu as une solution hors Macro aussi ça me va, je n'ai aucun problème à comprendre du code pur.
0
Le code normal est : DoCmd.OpenForm "NomFormulaire", etc
Pour atteindre le didacticiel: Sélectionner l'expression à chercher, Taper F1, Choisir l'Assistant du développeur. C'est ce qu'il y a de mieux dans le genre.

DoCmd.OpenForm(FormName, View, FilterName, WhereCondition, DataMode, WindowMode, OpenArgs)
avec WhereCondition: Expression chaîne qui est une clause WHERE (clause WHERE : partie d'une instruction SQL qui spécifie les enregistrements à extraire.) SQL valide sans le mot WHERE.
Voir les exemples
Bonne suite
0
Lucd33 Messages postés 11 Date d'inscription jeudi 3 juillet 2014 Statut Membre Dernière intervention 20 août 2014
15 juil. 2014 à 22:39
Ok ok je vais regarder mais il me semble que tu me parle de chose que je connais a peu prés , mon seul probléme est de récuperer le chiffre qui est au bout de ma souris.

du genre pour la where condition : where "etc jusqu'au bon champ" = "?"
et a la place du ? je veut mettre l'ID de l'enregistrement en cours, cet ID même sur lequel je clic, j'ignore s'il y a des sortes de variables locales correspondant a l'enregistrement en cours ou un truc comme ça qui me permettrait de le récup

Je vais voir si je trouve ça dans ce que tu me dit
0

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

Posez votre question
Lucd33 Messages postés 11 Date d'inscription jeudi 3 juillet 2014 Statut Membre Dernière intervention 20 août 2014
16 juil. 2014 à 09:33
Bon j'abandonne après deux- trois jours de recherche je suis obligé d'avancer. Pour ceux que ça intéresse Le formulaire de base de microsoft: open opportunity list effectue ce que je souhaite faire, surement a cet endroit de la macro qui est sur le champ ID




Mais je n'arrive pas a la réutiliser, elle plante tout simplement.

Le didacticiel n'apprend rien de nouveau les exemples de Clause where sont trop classique j'aurait presque dit que c'était pas possible si microsoft ne l'avait pas fait.

Bonne chance a ceux qui essaieront après moi
0
Lucd33 Messages postés 11 Date d'inscription jeudi 3 juillet 2014 Statut Membre Dernière intervention 20 août 2014
16 juil. 2014 à 10:22
et enfin je trouve en faisant autre chose ..

Dans la Macro de la 3éme image dans la case where écrire ID=screen.activecontrol


Je me doutait bien que y avait une variable pour ca.

et penser a commencer la macro en fermant le formulaire que vous voulez ouvrir au cas ou il serait déjà ouvert, sinon le nouveau filtre ne marche pas vous pouvez aussi nettoyer les filtres mais fermer ouvrir marche très bien
0

Discussions similaires