Requête sur sous-formulaire

Résolu/Fermé
Loic P. - 27 avril 2015 à 14:31
 Loïc P. - 28 avril 2015 à 17:55
Bonjour,

J'ai rencontré un petit problème en créant ma base de donnée access. Etant autodidacte, il se peut que mes méthodes paraissent parfois "trop compliquées", "non adaptées", ou bien "plutôt brouillon" et je m'en excuse d'avance.

Donc mon problème : ma base est créée de telle sorte que seul un formulaire global permette d'utiliser toutes les fonctions de la base. J'ai donc quelques formulaires, que je regroupe par la suite dans un formulaire global qui contient trois rangées d'onglets.

Certains de ces formulaires appelle l'ouverture de requête grâce à un système de listes déroulantes sur lesquelles se basent les critères de mes requêtes et d'un bouton macro ouvrant la requête. Cette méthode fonctionne très bien sur les formulaires individuels, mais quand je les regroupe sous le formulaire "MainForm", la requête perd les critères via liste déroulante et repose les questions.

J'ai déjà essayé de changer la source des listes déroulantes dans la requête pour que la requête soit liée directement au formulaire "MainForm", en clair :
[Forms]![0 MainForm]![TypeMilieu] (TypeMilieu étant le nom de ma liste déroulante). Mais cela m'ouvre une requête vide...

Si quelqu'un peut éclairer ma lanterne sur ce coup, je sèche...

Merci d'avance !

2 réponses

Bonjour,
Quand tu établies tes requêtes de sélection pour tes listes déroulantes, si elles font référence (via le critère de sélection) à un contrôle du formulaire principal, ta formule est correcte. Par contre si elles font référence à un contrôle du sous-formulaire, il faut écrire : [Forms]![0 MainForm]!NomSousFormulaire!Form[TypeMilieu]
Attention: les formulaires principaux sont au pluriel, et les sous-formulaires au singulier, Et idem pour tous les autres sous-niveaux.
Mais je te conseille d'utiliser l'assistant qui est très pratique pour les débutant, ou même les autres quand on ne sais pas bien la syntaxe.
Bonne suite.
0
Bonjour,
Ok j'ai compris mon erreur, il ne faut pas juste spécifier le formulaire global, mais le "chemin d'accès" complet au travers du formulaire global.
Merci de ta réponse, je vais m'y essayer dans la journée. C'est sur que l'assistant est intéressant, mais sur des cas précis comme celui-ci, je préfère demander un peu d'aide et bien comprendre le principe :)
Encore merci de ta réponse !
Loïc P.
0
Re-bonjour,
Je viens d'essayer la syntaxe que vous me proposez, mais les listes déroulantes ne sont toujours pas prises en compte dans les critères de ma requète.
Voici ma syntaxe :
[Forms]![0 MainForm]![11Fiche de préparation de milieu]![Form]![TypeMilieu]
Formulaire principal : 0 MainForm
Sous-formulaire : 11Fiche de préparation de milieu
Liste déroulante de sélection du critère : TypeMilieu.
Sachant que le formulaire 11Fiche de préparation de milieu est créé indépendemment du 0 MainForm, puis introduit dans ce dernier via les contrôles par onglets de navigation. (C'est peut être plus clair comme ça que mon premier message...).
Loïc P.
0
Re-...
Je n'ai pas précisé que le "nom du ss-formulaire" n'est pas le nom du formulaire placé en position de ss-formulaire mais le nom du contrôle qui contient le sous-formulaire lui-même.
Si le nom du formulaire destiné à intégrer une place de ss-formulaire est "FormTartempion" et si le contrôle qui contient le ss-formulaire se nomme "ContrôleSsForm", alors le critère devra s'écrire :
[Forms]![0 MainForm]![ContrôleSsForm]![Form]![TypeMilieu]
C'est bien pour cela que j'insiste sur l'utilisation de l'assistant.
Comment crois-tu que j'ai appris moi-même? La plupart ici sont aussi autodidacte que toi et à une époque où internet n'existait pas, alors il fallait qu'on se débrouille avec les assistants et les bouquins. Pour autant on répond avec plaisir, c'est ce que je fais, mais c'est bien aussi de tenir compte des conseils.
Bonne suite
PS: j'avais bien compris ton 1er post.
0
Merci de ta réponse rapide, j'ai essayé avec l'assistant de création de requête, mais il ne fait que créer la requête simplement, sans remplir un quelconque critère. Je tiens aussi compte de tes conseils, que ce soit au niveau de la syntaxe ou de l'utilisation de l'assistant. J'essai la plupart du temps de me débrouiller par moi-même, ou bien via certains tutoriels ou encore via les assistants, mais ça n'est pas toujours évident. Je vais essayer avec ta solution. Encore merci.
0
OK!
As-tu réussi maintenant? Pour ce qui est de ton problème précis, l'assistant à utiliser est celui de la saisie des critères. Lorsque la vue graphique de création des requêtes est ouverte, sur la ligne du critère, cliquer droite puis "Créer", Il y a la fenêtre de l'assistant qui s'ouvre et aide à comprendre comment est construit le système.
0
Loïc P. > Tessel75
28 avril 2015 à 17:55
Yes, la manip est complète et réussi, j'y ai même ajouter un état passant par la requête elle même. Je n'avais pas trouvé l'assistant de création des critères des requêtes, et j'avoue qu'il est plutôt utile ! J'avais bien le raisonnement de la construction du système du coup, mais juste pas la syntaxe.
Encore merci !
0