OVH Cloud OVH Cloud

Méthode FinRecord

5 réponses
Avatar
Claude cinéphile
Bonjour à tous et à chacun,
J'ai un formulaire principal "Clients" avec un sous-formulaire déroulant
"Produits du client".
Je souhaite accéder à la fiche produit "gaz hilarant" située dans le
formulaire "Produit" en cliquant sur le nom du produit.
Après OpenForm "Produits" et dans FindRecord,
je, (débutant sur VBA) cherche comment coder ObjetARechercher pour accéder
sur l'enregistrement correspondant au champ sur lequel on clique.
Pour le moment, mon code marche en codant "en dur", l'objet de la recherche.

Merci d'avance et pardon pour la naïveté de la question

5 réponses

Avatar
Jessy Sempere
Bonjour

Pour faire ce que tu souhaites, il te faut utilises l'argument Where de la
fonction DoCmd.OpenForm, regardes l'aide Access c'est très bien expliqué...

@+
Jessy Sempere
------------------------------------
Site @ccess : http://access.fr.free.fr/
Pour l'efficacité de tous :
http://www.mpfa.info/
------------------------------------
"Claude cinéphile" a écrit dans
le message de news:
Bonjour à tous et à chacun,
J'ai un formulaire principal "Clients" avec un sous-formulaire déroulant
"Produits du client".
Je souhaite accéder à la fiche produit "gaz hilarant" située dans le
formulaire "Produit" en cliquant sur le nom du produit.
Après OpenForm "Produits" et dans FindRecord,
je, (débutant sur VBA) cherche comment coder ObjetARechercher pour accéder
sur l'enregistrement correspondant au champ sur lequel on clique.
Pour le moment, mon code marche en codant "en dur", l'objet de la
recherche.

Merci d'avance et pardon pour la naïveté de la question


Avatar
Claude cinéphile
Bonjour Jessy,
D'accord, je veux bien utiliser "WHERE" au lieu de FindRecord.
Mais mon problème reste le même, je ne sais pas comment coder le critère de
la Clause Where pour rechercher sur un critère variable et dépendant du
contenu du champ sur lequel je clique.

Tous les exemples donnés sont "en dur" : WHERE Salaire > 21000, WHERE Dept =
'Ventes' , WHERE Age Between 18 And 30, etc..

Je souhaite ouvrir le formulaire "Produits" et trouver l'enregistrement dont
le champ "code produit "contient le nom du produit sur lequel je suis en
train de cliquer dans le sous-formulaire.


Merci d'avance.


Bonjour

Pour faire ce que tu souhaites, il te faut utilises l'argument Where de la
fonction DoCmd.OpenForm, regardes l'aide Access c'est très bien expliqué...




Avatar
Eric
Bonjour,

Sur l'évènement clic du champ concerné:

Private sub champconcerne_click()
docmd.openform "Produits",,,"code_produit='" & me.champconcerne & "'"
End sub

si le champ est numérique, "code_produit=" & me.champconcerne

Bonjour Jessy,
D'accord, je veux bien utiliser "WHERE" au lieu de FindRecord.
Mais mon problème reste le même, je ne sais pas comment coder le critère de
la Clause Where pour rechercher sur un critère variable et dépendant du
contenu du champ sur lequel je clique.

Tous les exemples donnés sont "en dur" : WHERE Salaire > 21000, WHERE Dept =
'Ventes' , WHERE Age Between 18 And 30, etc..

Je souhaite ouvrir le formulaire "Produits" et trouver l'enregistrement dont
le champ "code produit "contient le nom du produit sur lequel je suis en
train de cliquer dans le sous-formulaire.


Merci d'avance.


Bonjour

Pour faire ce que tu souhaites, il te faut utilises l'argument Where de la
fonction DoCmd.OpenForm, regardes l'aide Access c'est très bien expliqué...





--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr


Avatar
Eric
.../...
Peut-être préférer l'évènement Double-clic.
--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Avatar
Claude cinéphile
Salut Eric,

et Merci, ça marche. Juste un petit pb car j'avais le même nom de champ sur
deux formulaires.

Une grosse simplification de mes applications en perspective.

Merci encore. J'espère un jour être assez expérimenté pour renvoyer
l'ascenseur.


Bonjour,

Sur l'évènement clic du champ concerné:

Private sub champconcerne_click()
docmd.openform "Produits",,,"code_produit='" & me.champconcerne & "'"
End sub

si le champ est numérique, "code_produit=" & me.champconcerne

Bonjour Jessy,
D'accord, je veux bien utiliser "WHERE" au lieu de FindRecord.
Mais mon problème reste le même, je ne sais pas comment coder le critère de
la Clause Where pour rechercher sur un critère variable et dépendant du
contenu du champ sur lequel je clique.

Tous les exemples donnés sont "en dur" : WHERE Salaire > 21000, WHERE Dept =
'Ventes' , WHERE Age Between 18 And 30, etc..

Je souhaite ouvrir le formulaire "Produits" et trouver l'enregistrement dont
le champ "code produit "contient le nom du produit sur lequel je suis en
train de cliquer dans le sous-formulaire.


Merci d'avance.


Bonjour

Pour faire ce que tu souhaites, il te faut utilises l'argument Where de la
fonction DoCmd.OpenForm, regardes l'aide Access c'est très bien expliqué...





--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr