Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

VBA access, valeur du pointeur dans une sous-feuille de sous formulaire

1 réponse
Avatar
daerlnaxe
Bonjour,

Ma question n'est pas évidente du moins pour moi.

J'ai fait une requête sur deux tables qui sont liées entre elles. Le résultat permet de faire des catégories qui lorsqu'on appuie sur les petits "+" sur le coté va dérouler tous les produits qui appartiennent à cette catégorie. Et compter le nombre de produits dans chaque catégorie. Mettons qu'il y ait "épices" "sucré" "salé" une table genre et une table aliment
Ca nous donne un
+ épices 10
+ sucré 5
+ salé 10
Donc quand on clique sur épices par exemple j'ai la liste des épices qui se déroule.
Dans cette requête j'ai sorti les champs de genre, et j'ai juste sorti pour compter le champ genre contenu via une valeur numérique dans la table aliments.
Pour avoir la sous-feuille qui se déroule avec chaque genre j'ai utilisé la propriété "sous-feuilles données nom" de la requête et mis dans champ pères IDgenre et dans champ fils "genre"


Au niveau de mon formulaire, j'ai un sous formulaire qui va afficher cette requête.

Comme j'aimerai pouvoir éditer chaque entrée via un formulaire j'ai mis un petit bouton édition en haut au dessus du sous formulaire pour qu'en pointant sur un aliment j'obtienne par exemple l'id de l'aliment.
Et c'est là que ca coince.

J'arrive très bien à récupérer n'importe quel champ venant directement du sous formulaire mais rien de la sous-feuille du sous-formulaire.
Je peux récupérer l'idgenre, le genre, avec Me.Form![SSFAli].Form![Idgenre].Value (si je veux la clé primaire du genre)

mais je ne récupérerais pas le titre une fois que je pointe quelque part dans les aliments sous la catégorie.

Merci d'avance pour votre aide, j'ai lancé des recherches et j'ai lu des pages et des pages, je ne trouve des informations que pour ce qui concerne le 1er sous-formulaire mais rien concernant la sous-feuille du sous formulaire.

1 réponse

Avatar
daerlnaxe
Le mardi 09 Décembre 2014 à 13:24 par daerlnaxe :
Bonjour,

Ma question n'est pas évidente du moins pour moi.

J'ai fait une requête sur deux tables qui sont liées entre elles.
Le résultat permet de faire des catégories qui lorsqu'on appuie
sur les petits "+" sur le coté va dérouler tous les
produits qui appartiennent à cette catégorie. Et compter le
nombre de produits dans chaque catégorie. Mettons qu'il y ait
"épices" "sucré" "salé" une
table genre et une table aliment
Ca nous donne un
+ épices 10
+ sucré 5
+ salé 10
Donc quand on clique sur épices par exemple j'ai la liste des
épices qui se déroule.
Dans cette requête j'ai sorti les champs de genre, et j'ai juste sorti
pour compter le champ genre contenu via une valeur numérique dans la
table aliments.
Pour avoir la sous-feuille qui se déroule avec chaque genre j'ai
utilisé la propriété "sous-feuilles données
nom" de la requête et mis dans champ pères IDgenre et dans
champ fils "genre"


Au niveau de mon formulaire, j'ai un sous formulaire qui va afficher cette
requête.

Comme j'aimerai pouvoir éditer chaque entrée via un formulaire
j'ai mis un petit bouton édition en haut au dessus du sous formulaire
pour qu'en pointant sur un aliment j'obtienne par exemple l'id de l'aliment.
Et c'est là que ca coince.

J'arrive très bien à récupérer n'importe quel champ
venant directement du sous formulaire mais rien de la sous-feuille du
sous-formulaire.
Je peux récupérer l'idgenre, le genre, avec
Me.Form![SSFAli].Form![Idgenre].Value (si je veux la clé primaire du
genre)

mais je ne récupérerais pas le titre une fois que je pointe
quelque part dans les aliments sous la catégorie.

Merci d'avance pour votre aide, j'ai lancé des recherches et j'ai lu des
pages et des pages, je ne trouve des informations que pour ce qui concerne le
1er sous-formulaire mais rien concernant la sous-feuille du sous formulaire.


Ok, je me réponds tout seul histoire que cela serve à quelqu'un d'autre selon.

Je n'ai pas trouvé, et je ne suis même pas sur que cela soit possible de récupérer le pointeur sur la subdatasheet d'un subform dans un form. Je ne vois pas ou est le nom du subdatasheet, je ne sais même pas si ca en a un, et s'il y a un nom d'objet je ne trouve pas. Cette méthode me parait sympa et tentente pour le débutant, ce que je suis sur access, ca ne m'étonnerait pas qu'elle ne propose rien en profondeur en revanche.

Par contre j'ai fini par procéder autrement pour obtenir un résultat similaire, voire même avec le bénéfice d'une puissance plus importante via les formulaires imbriqués que doivent connaitre ceux plus avancés.

lien msdn: https://support.office.com/fr-fr/article/Cr%C3%A9er-un-formulaire-contenant-un-sous-formulaire-formulaire-un-%C3%A0-plusieurs-ddf3822f-8aba-49cb-831a-1e74d6f5f06b?ui=fr-FR&rs=fr-FR&ad=FR#bmcreateformnestedsubforms

J'ai utilisé le lien ci dessus et en suivant cette procédure simple, j'ai obtenu immédiatement le résultat similaire. Du coup comme ca me permettait de nommer mon sous formulaire, et donc simple à appeler.

Du coup je récupère mon pointeur facilement et sans soucis via

Me.Form![subform1].Form![subform2].Form![field].Value

Donc ma solution aura été de contourner le problème ne disposant pas des connaissances suffisantes.