(Access) Comment atteindre enregistrement....

Fermé
sevensenses Messages postés 1 Date d'inscription mardi 23 janvier 2007 Statut Membre Dernière intervention 23 janvier 2007 - 23 janv. 2007 à 15:33
 jerem - 6 déc. 2012 à 15:52

Bonjours,
Voici ce que je cherche à faire.

J’ai deux formulaires contenants plusieurs enregistrements qui utilisent la même table. Un des formulaires utilisent tous les champs de la table et l’autre n’en utilise que quelques uns.
J’ai crée une macro qui fait en sorte que je puisse passer d’un formulaire à l’autre seulement en double-cliquant sur un champs en particulier.
Le problème c’est qu’il me ramène toujours sur le premier enregistrement du formulaire au lieu de me ramener sur l’enregistrement correspondant a celui d’où j’étais dans l’autre formulaire.
Voici un exemple : Je suis sur l’enregistrement 10 du formulaire X je voudrait en double-cliquant sur un champs en particulier aller sur l’enregistrement 10 du formulaire Y.

À l’aide SVP cela fait déjà plusieurs heures que je cherche la solution et je n’y parviens pas.
Merci à l’avance
A voir également:

9 réponses

crouic5 Messages postés 10 Date d'inscription samedi 28 octobre 2006 Statut Membre Dernière intervention 16 octobre 2013 5
17 nov. 2008 à 23:52
Si cela t'intéresses, j'ai trouvé, voici l'explication :
j'ai deux formulaires: Le premier un formulaire avec un sous formulaire. Dans la partie principale ,nous avons tout ce qui touche l'identité de l'élève et il est basé sur la table identité.

Le sous-formulaire est basé sur une table appelée évolution et montre différents test sportifs qui ont été effectués par l'élève.

Les deux tables sont reliées par une relation un à plusieurs avec un numéro compteur. le compteur se trouve dans la table identté et sert de clé d'index unique, la deuxième table évolution a un champ numérique qui accepte les doublons.

Le problème que j'avais c'est que je voulais avoir quand je faisais l'affichage liste, tous les champs affichés en ligne ( les champs repris dans le formulaire principal et les champs repris dans le formulaire lié. Pas de problème pour créer ce formulaire, il suffisait de baser ce formulaire sur une requête dans laquelle les deux tables étaient reprises.

Cependant là où le problème s'est posé c'est que je voulais en doublecliquant sur le nom de l'élève repris dans le formulaire principal arriver au même endroit sur la liste, donc sur le même nom et pouvoir voir toutes les fiches et vice-versa.

J'ai donc appliqué cette procédure sur l'évènement doubleclic du champ noms dans le formulaire identité et dans le formulaire listing qui me permet d'atteindre l'enregistrement spécifié en double cliquant sur le nom de l'un ou l'autre des deux formulaires :
Procédure sur l'évènement double clic pour le champs noms du formulaire identité

Private Sub Noms_DblClick(Cancel As Integer)
Dim intNbre As Integer
intNbre = Me.Numéro

DoCmd.OpenForm "listing"
DoCmd.ApplyFilter "listing trié", ""
Forms!listing!Numéro.SetFocus
DoCmd.FindRecord intNbre
DoCmd.GoToControl "débutléger"
DoCmd.Close acForm, "identité"
End Sub

Donc, en appliquant cette procédure, j'ouvre d'abord mon formulaire listing, j'applique un filtre qui me trie le listing par nom d'élève, il me fait atteindre l'enregistrement équivalent à celui du formulaire identité (le formulaire avec sous-formulaire) et les autres enregistrements ne sont pas cachés, ce qui se passait dans le cas d'un filtre classique.

A partir du formulaire listing, pour arriver sur l'enregistrement spécifié du formulaire identité, j'applique la même procédure en créant un évènement sur le champs noms

Private Sub NomElève_DblClick(Cancel As Integer)
Dim intNbre As Integer

intNbre = Me.Numéro

DoCmd.OpenForm "identité"
Forms!identité!Compteur.SetFocus
DoCmd.FindRecord intNbre
DoCmd.GoToControl "Noms"
DoCmd.Close acForm, "listing"
End Sub


Je peux donc ainsi passer d'un formulaire à l'autre en atteignant le même enregistrement que sur lequel je suis positionné sur le frormulaire de départ sans que les autres enregistrements ne soient cachés.

Voilà, j'espère t'avoir aidé
4