Gérer les sous feuilles de données
Fermébadarledur Messages postés 397 Date d'inscription jeudi 1 janvier 2009 Statut Membre Dernière intervention 22 décembre 2023 - 22 déc. 2023 à 15:11
- Gérer les sous feuilles de données
- Gerer les profils netflix - Guide
- Effacer les données de navigation - Guide
- Reinstaller windows sans perte de données - Guide
- Comment sauvegarder toutes les données de mon téléphone - Guide
- Comment faire un livret avec des feuilles a4 - Guide
33 réponses
2 nov. 2023 à 09:40
Je suis en train d'essayer de construire mon formulaire ajout animateur pour définir les relations intervenant-activité.
Mais je sèche sur un point. Comme pour mes autres formulaires, je souhaite que la liste des activités proposées se filtre en fonction du choix de la résidence et du choix du financement.
Je ne comprends pas pourquoi quand dans ma requête associée au champs "activité", quand j'ajoute le critère "type financement", ça ne fonctionne plus.
j'ai construit sur le même modèle que les autres, et dans ce nouveau formulaire, ça ne passe pas. Uniquement avec ce critère. Quand j'enlève le critère financement, les activités se filtrent bien en fonction de la résidence choisie mais quand j'ajoute le critère financement, je n'ai plus rien.
Peux tu regarder stp?
https://www.cjoint.com/c/MKciIae0iYE
Il s'agit du formulaire "f_animateurs_ajout" et le problème concerne le champs id_activités. Je n'arrive pas à ajouter l'étape de filtrage "financement"
3 nov. 2023 à 07:30
Et pourquoi mon bouton "add_intervenant" ne fonctionne pas?
Qu'est ce que je n'ai pas fait? ><
3 nov. 2023 à 13:24
La première chose à faire, c'est, dans la macro, de ne pas désactiver les messages d'avertissement.
3 nov. 2023 à 14:25
Ce qui empêche d'ajouter un intervenant, c'est la relation entre les tables intervenants et animateurs.
Plus précisément, c'est le choix, dans cette relation, d'appliquer l'intégrité référentielle.
A quoi sert la table des animateurs?
3 nov. 2023 à 18:12
Réponse au 263
La table animateur est celle que j ai créée pour mes formulaires d ajout et de consultation des intervenants (relation intervenant/activité).
J ai essaye de réunir les informations comme ma table séance avec mes formulaires d ajout et de consultation des activités
3 nov. 2023 à 21:29
A quel "objet réel", à quelle action ou à quelle relation correspond cette table animateurs?
Il ne faut pas créer de table pour des formulaires. Les tables décrivent la réalité.
Il est souvent utile de créer des requêtes utilisées par les formulaires.
4 nov. 2023 à 05:57
réponse au #266
j'ai dû mal comprendre tes suggestions en #242.
Modifié le 4 nov. 2023 à 08:28
et je rencontre encore le problème de stockage des informations.
Que ce soit dans mes formulaires ajout/consultation des activités ou bien dans mes formulaires d'ajout/consultation des intervenants.
Au fur et à mesure que j'ajoute des nouvelles infos (nouvel intervenant ou nouvelle activité), les informations des formulaires consultation des activités précédentes ou les intervenants précédents ne restent pas stockées.
La dernière fois, j'avais réussi à résoudre le problème pour le champs financement des formulaires ajout et consultation des activités. Dans celui de consultation, l'info n'était pas stockée dans le champs financement parce que la requête faisait référence à la table financement que j'avais supprimé. En mettant à jour la requête, j'avais réussi à stocker l'information.
Là mes requêtes sont à jour dans mes formulaires de consultation et pourtant, dans les champs activités et intervenant, les infos disparaissent si j'ajoute une activité via mon formulaire d'ajout.
Je ne sais vraiment pas comment résoudre ce problème.
https://www.cjoint.com/c/MKeho38kKhE
dans les formulaires ajout/consultation : le problème concerne les champs "activités " et "intervenant", les informations précédents disparaissent quand je remplis un nouveau formulaire ajout. elles disparaissent dans les deux formulaires "ajout" et "consultation". Y a le même comportement dans les deux formulaires. Mais elles sont bien stockées dans ma table séance et participation
dans les formulaires ajout/consultation. Toutes les infos disparaissent quand j'ajoute via le formulaire d'ajout. les informations disparaissent dans les formulaires ajout et consultation. Y a le même comportement dans les deux formulaires. Mais elles sont bien stockées dans la table intervenant
Modifié le 4 nov. 2023 à 09:49
suite au #268
quand je suis sur une fiche déjà renseignée de mon formulaire ajout activités ou formulaire consultation activité pour laquelle j'avais déjà renseigné le formulaire, je dois resélectionner le bon financement pour que les infos réapparaissent.
En revanche, elles disparaissent des autres fiches quand je fais cette manip.
si je vais dans une autre fiche, je resélectionne le bon financement et alors les infos "activités" et "intervenant" réapparaissent mais disparaissent des autres fiches.
En fait, ça dépend le choix du financement, quand j'ajoute un nouvelle séance avec formulaire ajout, les informations des fiches précédentes réapparaissent en fonction du dernier choix que j'ai fait dans "financement".
Et ce n'est pas directement lié entre mon formulaire ajout activité et consultation activité. Y a le même comportement. les fiches se ré-remplissent en fonction du dernier champs financement que je mets à jour dans la fiche. mais si je touche au financement dans le formulaire ajout, ça n'impacte pas directement celui de consultation. Si je touche financement A dans le formulaire ajout, mes fiches renseignées avec le financement A réapparaissent dans mes fiches du formulaire ajout mais pas dans le formulaire consultation. Dans le formulaire consultation, il faut aussi que je retouche au financement, pour que les infos renseignées dans les autres fiches qui présentent un financement commun réapparaissent. Mais celles les fiches renseignées avec un autre financement re-disparaissent
et idem pour les formulaires ajout et consultation des intervenants.
ici, aucune information ne reste stockée dans mes fiches déjà renseignées.
Je dois resélectionner mes champs pour que les infos réapparaissent.
Mais j'ai peut être une piste: ces formulaires ajout et consultation viennent alimenter et consulter les données contenues dans ma table intervenant.
dans cette table intervenant, je n'ai que deux champs, id_personne et id_activité.
Mais mes formulaires, pour guider la saisie, comporte 5 champs. Les 3 premiers sont là pour faciliter la sélection dans les champs id-personne et id_activité.
Les champs "résidence" et "financement" permettent de filtrer le champs id-activité pour alléger les propositions d'activités de la liste déroulante de mon champs id_activité;
de même, le champs "catégorie intervenant" permet de filtrer le champs id_personne pour alléger les propositions des personnes de la liste déroulante de mon champs id_personne.
Mais ce que je remarque, c'est que l'information de mes 3 champs qui me permettent de filtrer que sont "résidence", "financement" et "categorie intervenant" ne viennent alimenter aucune table.
Je me dis que mon problème vient de là.
Mais en même temps, ce raisonnement ne peut pas s'appliquer à mes formulaires d'ajout et de consultation des activités car toutes les informations du formulaire viennent alimenter ma table "séance" et ma table "participation"
4 nov. 2023 à 15:41
J'ai l'impression que tu crées des formulaires qui font un peu de tout, qui travaillent sur plusieurs tables et font en même temps de l'ajout et de la consultation.
Si j'étais toi, je ferais un formulaire d'ajout, avec un bouton d'ajout, pour chaque table. Sauf pour les tables simples où tu veux laisser l'utilisateur travailler en direct dans la table.
Ce formulaire d'ajout pourrait aussi servir à la consultation et à la suppression d'enregistrements, comme tu as fait avec un sous formulaire qui affiche les participations.
4 nov. 2023 à 18:47
réponse au 270
j'essaie d'avoir d'une part:
- pour ajouter des séances : un formulaire d'ajout des activités
- pour consulter/modifier les séances ajoutées : un formulaire de consultation/modification des activités.
Le formulaire ajout alimente la table séance et la table participation. C'étaient les formulaires que tu m'avais aidé à construire.
j'essaie d'autre part d'avoir :
- pour ajouter des intervenants : un formulaire d'ajout des intervenants
- pour consulter/modifier les intervenants ajoutés un formulaire de consultation/modification des intervenants
Le formulaire ajout intervenant alimente la table intervenant et le formulaire consultation/modification me permet de consulter les données de la table intervenant
Si je prends l'exemple des formulaires des séances
Quand bien même, le formulaire d'ajout a pour fonction d'ajouter des séances. Je peux quand même circuler entre les différents enregistrements effectués. Et quand je circule entre les enregistrements, je me rends compte que lorsqu'à l'occasion du renseignement d'une nouvelle fiche séance, si à l'étape de sélection du financement je change le type de financement, tous les enregistrements précédents effectués avec un autre type de financement voient disparaître les champs intervenant et activité. Si j'essaie de rebasculer le type de financement sur celui d'origine, les informations de ces champs réapparaissent mais alors c'est les enregistrements effectués avec un type de financement différent qui disparaissent. Et j'observe la même chose dans celui de consultation
Formulaire ajout : cas d'un enregistrement de séance avec le choix du financement A
Formulaire ajout : conséquence de l'enregistrement de la fiche montrée dans la photo 1 sur un enregistrement antérieur
Formulaire consultation: consultation du dernier enregistrement effectué depuis le formulaire ajout
Formulaire consultation : consultation d'un enregistrement antérieur après l'ajout d'un enregistrement d'une nouvelle séance avec un autre type de financement depuis le formulaire ajout
5 nov. 2023 à 11:12
N'hésite pas, dans tes explications, à donner les noms des formulaires.
Ton vocabulaire n'est pas toujours facile à suivre. Si je comprends bien, pour ajouter des séances, tu as créé un formulaire "d'ajout des activités" qui s'appelle "F_ajouter_suivi_activites". C'est bien cela?
Tu mentionnes, si je comprends bien, des soucis avec quatre formulaires. Traitons un souci à la fois.
Commencons avec le premier formulaire que tu mentionnes, "F_ajouter_suivi_activites".
De ce que je vois, ce formulaire, en ce qui concerne les séances, est à la fois un formulaire d'ajout et de consultation.
Il permet de se déplacer dans les enregistrements des séances, et il permet de créer une nouvelle séance.
Pour faciliter la création de séances, tu utilises des listes déroulantes successives, en cascade, et c'est une bonne idée.
Par contre, quand tu visualises une séance existante, ces listes déroulantes n'ont pas de sens, il faudrait simplement avoir une boîte de texte pour chacun des champs.
Ce que je suggère pour couvrir ce dont tu as besoin en ce qui concerne les séances, et récupérer le travail que tu as déjà fait:
- avoir un formulaire spécifique d'ajout de séances.
- avoir un formulaire d'affichage des séances et de gestion des participations
Le formulaire d'ajout de séances peut, je pense, être construit en partant d'une copie du formulaire "F_ajouter_suivi_activites", en ne gardant que les listes déroulantes pour préparer la création d'une séance, et en y ajoutant un bouton d'ajout.
Si tu penses utile, tu pourrais ajouter dans ce formulaire un sous formulaire qui affiche les séances existantes. La suppression des séances est un peu délicate, car il y a peut-être des participations associées.
.
Le formulaire d'affichage des séances et de gestion des participations peut, je pense, être construit en partant d'une copie du formulaire "F_ajouter_suivi_activites", en y empêchant de modifier, supprimer ou créer une séance.
Modifié le 6 nov. 2023 à 16:52
N'hésite pas, dans tes explications, à donner les noms des formulaires.Ton vocabulaire n'est pas toujours facile à suivre.
-->désolé, je ne maîtrise pas la terminologie d'access...
Si je comprends bien, pour ajouter des séances, tu as créé un formulaire "d'ajout des activités" qui s'appelle "F_ajouter_suivi_activites". C'est bien cela?
-->c'est bien cela
Le formulaire d'ajout de séances peut, je pense, être construit en partant d'une copie du formulaire "F_ajouter_suivi_activites", en ne gardant que les listes déroulantes pour préparer la création d'une séance, et en y ajoutant un bouton d'ajout.
-->j'ai dû mal à me représenter à quoi ressemblerait ce formulaire. Sur ce formulaire, il existe déjà un bouton ajout. C'est le bouton qui permet d'ajouter des participants à la séance. Et c'est ce bouton que tu m'avais aidé construire avec tout le système de requêtes (candidats inscrits, non inscrits, etc...). Donc là, le bouton ajout que tu évoques ici serait un second bouton, qui me permettrait d'ajouter les informations contenues dans mes listes déroulantes ? Si oui, les informations seraient ajouter dans la table "séance"? Puisque c'est là que je souhaite qu'elles aillent.
--> le formulaire d'ajout des séance et d'ajout des participations ne serait pas le même?
--> le second formulaire, lui, permettrait de consulter les informations renseignées via le formulaire d'ajout? Et les champs ne seraient plus des listes déroulantes mais des boîtes de texte? (= zone de texte?)
-->si je souhaite modifier un enregistrement (si l'utilisateur fait une erreur), comment gérer cet aspect?
Modifié le 6 nov. 2023 à 17:07
Effectivement, le formulaire d'ajout de séances aurait un bouton qui permettrait d'ajouter dans la table "séance" les informations contenues dans les listes déroulantes. Il n'y aurait dans ce formulaire que la partie droite du formulaire "F_ajouter_suivi_activites", sans tout ce qui concerne les participants.
Dans le formulaire d'affichage des séances et de gestion des participations, tout ce qui concerne les champs des séances ne serait plus des listes déroulantes mais des zones de texte (textbox en anglais).
Souhaites-tu permettre librement de modifier ou supprimer une séance? La supprimer même si il y a des inscrits? Modifier tout, même la résidence ou la date, même si il y a des inscrits?
Modifié le 7 nov. 2023 à 06:22
ok je crois que j'ai compris.
Mais alors, pour compléter intégralement les informations relatives à une séance.
Cela se fera en 3 temps, via 3 formulaires différents ?
1. le formulaire d'ajout des informations sur la séances (financement, activité, durée de l'activité, etc...)
2.le formulaire d'ajout des participations (candidats inscrits à une séance)
3.le formulaire d'ajout des intervenants (qui est le formulaire que j'étais en train d'essayer de construire).
N'est-il pas possible de combiner les 3 dans un seul formulaire, un peu sur le modèle de ce que j'essayais de faire?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question11 nov. 2023 à 08:42
je crois que mon formulaire "ajouter séance" est fini.
Maintenant, je passe à mon formulaire "consultation des séances"?
si oui :
- est ce que je dois partir d'un formulaire vierge (non relié à la table séance), j'ai envie de dire non. Cette fois, il doit être lié?
-tous mes contrôles seront des zones de texte?
Modifié le 11 nov. 2023 à 09:51
Le formulaire d'affichage des séances et de gestion des participations peut, je pense, être construit en partant d'une copie du formulaire "F_ajouter_suivi_activites", en y empêchant de modifier, supprimer ou créer une séance.
J'imagine qu'une partie des contrôles (indépendants) de la partie gauche serviront de filtre, les autres (dépendants) affichant les infos de la séance consultée.
Modifié le 11 nov. 2023 à 10:30
Alors, je ne suis pas certain de tout comprendre.
J'étais parti sur l'idée, qu'il me fallait créer 6 formulaires.
- 2 qui concernent les séances : dont un d'ajout et un de consultation
- 2 qui concernent les participants: dont un d'ajout et un de consultation
-2 qui concernant les intervenants : dont un d'ajout et un de consultation.
Quand tu m'écris que le formulaire d'affichage des séances et de gestion des participations peut, selon toi, être construit en partant d'une copie du formulaire "F_ajouter_suivi_activités. Ce que je comprends c'est que le formulaire de consultation sur lequel je parlais va combiner, et le formulaire d'ajout des participants. (gestion des participations). Est-ce bien cela?
J'imagine qu'une partie des contrôles (indépendants) de la partie gauche serviront de filtre, les autres (dépendants) affichant les infos de la séance consultée.
--> pour cette suggestion, j'ai dû mal à me représenter le formulaire fini.
La partie de gauche proposerait des filtres pour afficher la séance recherchée/à consulter. Mais la partie de droite, ressemblerait à quoi? Un sous formulaire de F_séances, qui se mettrait à jour au fur et à mesure des choix faits dans les contrôles indépendants?
11 nov. 2023 à 11:00
Je suis resté sur ma suggestion en #272.
Tu avais créé un formulaire F_ajouter_suivi_activites qui essayait de faire la gestion (ajout, consultation, modification) des séances, ainsi que la gestion (ajout, consultation, suppression) des participations.
Cela dépassait clairement tes connaissances, et il était nécessaire de simplifier.
J'avais donc d'en faire deux formulaires, un pour la création de séances et un pour la consultation de séances ainsi que la gestion des participations.
La partie de gauche, aurait, en haut, des filtres (résidence, financement, activité, ...) pour réduire la liste des séances consultables. En dessous, des zones de texte qui affichent la séance en cours.
La partie de droite, elle ne change pas, c'est toute la gestion des participants.
C'est une suggestion, pour préserver ce que tu avais créé, aussi bien pour ne pas perdre ton travail que parce que je suppose que tu trouvais cela convivial pour tes utilisateurs.
11 nov. 2023 à 12:40
Mais je te suis. Je vois bien que tu comprends et anticipes ce que je veux faire. C est pour cela que je cherche à bien cerner tes suggestions.
11 nov. 2023 à 19:45
Quand tu comprendras mieux les différentes possibilités offertes par Access, tu pourras mieux imaginer comment organiser au mieux les formulaires au service des utilisateurs. C'est un travail assez complexe, qui demande de balancer les connaissances techniques (Access) avec les connaissances du "métier" (les résidences, leur organisation, leur personnel, ...), et que tu es le seul à pouvoir faire.
Tu l'as vu, les macros de Access permettent d'automatiser des actions dans les coulisses des formulaires.
Il est aussi possible d'écrire du VBA dans Access, et cela offre des possibilités d'automatisation bien plus développées que les macros.
Cependant, dans Access, il n'est pas possible de générer du code VBA à partir des actions faites par l'utilisateur, comme le permet l'enregistrement de macro de Excel.
Dans Access, le code VBA doit être écrit "à la main".
J'ignore si il est nécessaire ou opportun que tu développes, un jour, du VBA dans Access. Intuitivement, il me semble que tu n'as pas d'expérience de programmation, et que tu as, pour le moment, assez à apprendre sans cela.
Le jour où tu identifieras quelque chose de très utile qui ne te semble pas possible à réaliser via les macros, ce sera l'occasion de réfléchir à l'utilisation de VBA.
12 nov. 2023 à 06:44
Je suis pour le moment très content que tu me dispenses du VBA.
quand j'ai un problème, d'une manière générale, avant de te demander, je fais quelques recherches. Je tombe d'ailleurs assez souvent sur le site developper.com.
Toutes les réponses proposées suggèrent du vba.
Toi, tu me proposes à chaque fois des solutions sans vba, et j'en suis très satisfait.
Modifié le 12 nov. 2023 à 09:09
Pour mon formulaire consultation séance et gestion des participations, je suis parti d'une copie de mon formulaire d'ajout des activités.
Forcément, je dois mettre à jour, un bon nombre de paramètres.
Il me reste deux paramètres à mettre à jour que je ne parviens pas à identifier. (à l'ouverture du formulaire, j'ai deux fenêtres qui s'ouvrent successivement et qui me demandent de préciser les paramètres : "Formulaires!F_ajouter_suivi_activites!endroit" (deux fois).
Je ne parviens pas à identifier où cela se trouve. Existe-t-il un moyen d'identifier ce paramètre?
EDIT:
je l'ai trouvé. mais s'il existe un moyen ça m'interesse
Modifié le 12 nov. 2023 à 09:15
Sur mon formulaire consultation seance et gestion participation, j'essaie de construire la partie de gauche.
Si je comprends bien ta suggestion, la partie de gauche se compose de deux parties:
- une partie qui me permet de rechercher une séance via des contrôles
- une partie qui me permet d'afficher la séance recherchée.
Là, je suis perdu. Comment je peux afficher une séance recherchée à partir de mes contrôles servant de filtres?
12 nov. 2023 à 11:32
Pour le moment, la source du formulaire, c'est la table séances. Ce qui signifie que tu peux te déplacer parmi toutes les séances.
On peut utiliser plutôt une requête comme source du formulaire. Cela permet de contrôler parmi quelles séances on peut se déplacer.
Cette requête peut utiliser les contrôles filtrant du formulaire, comme la requête R_candidats le faisait.
12 nov. 2023 à 12:24
Ma séance recherchée s affiche dans une zone de liste? Une zone de texte? Un sous formulaire ?
12 nov. 2023 à 14:45
Les séances filtrées s'affichent dans le formulaire, on les parcourt via le bouton de navigation en bas à droite.
12 nov. 2023 à 15:11
Les contrôles permettant le filtrage sont en permanence sur le formulaire? Les enregistrements qu on va pouvoir parcourir vont se réduire au fur et à mesure des sélections effectuées dans les contrôles servant à filtrer?
18 nov. 2023 à 13:41
Voici une requête qui ne prendra pas en compte les critères de recherche laissés vides:
SELECT T_seances.id_seance, T_seances.date_intervention, T_seances.id_residence, T_seances.id_financement, T_seances.id_activite, T_seances.complement_infos, T_seances.intergenerationnel, T_seances.interresidence, T_seances.intervenant, T_seances.duree_heure, T_seances.duree_min FROM T_seances WHERE (T_seances.date_intervention=[Formulaires]![F_consultationSeance_gestionParticipants]![Ch_rech_date] OR [Formulaires]![F_consultationSeance_gestionParticipants]![Ch_rech_date] is null) AND ( T_seances.id_residence=[Formulaires]![F_consultationSeance_gestionParticipants]![Ch_rech_residence] OR [Formulaires]![F_consultationSeance_gestionParticipants]![Ch_rech_residence] is null ) AND ( T_seances.id_financement=[Formulaires]![F_consultationSeance_gestionParticipants]![Ch_rech_financement] OR [Formulaires]![F_consultationSeance_gestionParticipants]![Ch_rech_financement] is null ) AND ( T_seances.id_activite=[Formulaires]![F_consultationSeance_gestionParticipants]![Ch_rech_activite] OR [Formulaires]![F_consultationSeance_gestionParticipants]![Ch_rech_activite] is null );
C'est assez simple: pour chaque critère de recherche, on teste si soit le critère de recherche est vide, soit l'enregistrement correspond au critère de recherche.
23 nov. 2023 à 07:27
Tu me demandais mon avis sur les requêtes associées à des contrôles dans le formulaire F_intervenants.
Je ne comprenais pas pourquoi tu avais créé des listes déroulantes basées sur des requêtes pour simplement afficher des informations, pour des contrôles d'affichage, des contrôles qui ne sont destinés qu'à montrer de l'information, pas à permettre de faire des choix ou de modifier des données.
J'avais été étonné par la même anomalie dans le formulaire F_participations.
Tu m'expliques que tu as simplement laissé Access créer automatiquement ces listes déroulantes, et que Access a fait cela en s'inspirant de la définition du champ dans la table.
Si cela fonctionne, tant mieux. En général, je préfère ne pas laisser Access prendre trop d'initiatives, et maitriser chacun des éléments.
Je laisserais donc tel quel ce qui a été construit et qui fonctionne.
Pour de nouvelles tables, j'éviterais d'associer des listes déroulantes à des champs, sauf si nécessaire. Il est plus propre de créer une requête qui sera utilisée pour afficher clairement les informations. Et d'utiliser un formulaire d'ajout avec bien plus de possibilités qu'une liste déroulante dans une table.
Pour de nouveaux formulaires, j'éiterais d'automatiquement récupérer des listes déroulantes de tables, mais je compléterais la requête source du formulaire, comme tu as fait pour récupérer des noms dans le formulaire F_consultationSeance_gestionParticipants, via la requête R_recherche_seance.
23 nov. 2023 à 08:47
Je préfère reprendre proprement avec tes méthodes. Je me dis que ça m'évitera de rencontrer des problèmes plus tard.
Pour F_participations et F_intervenant, je crois que j'ai compris.
Mais pour F_ajouter_intervenant. J'ai essayé de créer ma requête qui me servira de source pour mon formulaire.
On est bien d'accord, une fois ma requête associée comme source du formulaire, l'idée c'est d'associer aux différents contrôles, les sources contrôles correspondantes? Pour mon contrôle(filtre) "résidence, je lui associe le champs "id_residence" de ma requête?
D'ailleurs pour ce champs, je remarque une anomalie. Si dans ma requête, je choisis de récuperer le nom de la résidence depuis la table T_activités avec le champs "id_residence", pas de problème. En revanche, si je choisis de récuperer le nom de la résidence depuis la table T_residence avec le champs "nom de la résidence", quand je reviens dans mon formulaire et que je teste mon contrôle, la liste déroulante proposée me convertit une des deux résidences en chiffre. L'autre valeur reste du texte. Pourquoi?
Aussi, si pour ma requête source je pars de ma table intervenant et que j'ajoute toutes les tables à partir desquelles je vais venir ajouter les valeurs qui me seront utiles dans la construction de mon formulaire. Le problème qui se présente à moi est que ma requête ne m'avait m'extraire que les intervenants déjà existants. Alors que l'objectif de mon formulaire est de pouvoir en créer d'autres. J'ai vidé ma table "intervenant" pour essayer et du coup ma requête ne me renvoie plus rien.
Mais peut être est ce ma requête qui n'est pas correcte :
SELECT T_intervenants.id_personne, T_intervenants.id_activite, T_personne.categorie_personne, T_personne.Active, T_activites.active, T_activites.id_residence, T_activites.type_financement, [prenom] & "' " & [nom] AS nom_complet FROM T_residences INNER JOIN (T_personne INNER JOIN (T_intervenants INNER JOIN T_activites ON T_intervenants.id_activite = T_activites.id_activite) ON T_personne.id_personne = T_intervenants.id_personne) ON T_residences.id_residence = T_activites.id_residence WHERE (((T_personne.Active)=Yes) AND ((T_activites.active)=Yes)) ORDER BY T_personne.nom, T_personne.prenom;
23 nov. 2023 à 10:13
Les contrôles filtres sont des contrôles indépendants, il ne sont pas issus de la source du formulaire (ils n'ont pas de "source contrôle"). Ils sont d'ailleurs en dehors de la partie du formulaire qui affiche les informations des enregistrements de la source.
Les contrôles filtres n'ont pas de "source contrôle", et, si ce sont des listes déroulantes, ont comme "contenu" une requête spécifique, totalement indépendante de la requête source du formulaire.
23 nov. 2023 à 10:28
Si dans ma requête, je choisis de récuperer le nom de la résidence depuis la table T_activités avec le champs "id_residence", pas de problème.
Je suppose que Access crée alors automatiquement une liste déroulante basée sur la définition de la table T_activites, et que cela fonctionne bien pour les deux résidences.
En revanche, si je choisis de récuperer le nom de la résidence depuis la table T_residence avec le champs "nom de la résidence", quand je reviens dans mon formulaire et que je teste mon contrôle, la liste déroulante proposée me convertit une des deux résidences en chiffre. L'autre valeur reste du texte. Pourquoi?
Access a donc besoin que les jointures de ta requête fonctionnent bien pour retrouver le nom de la résidence. Si tu ouvres ta requête et que tu regardes ce qu'elle affiche, tu verras sans doute que "nom_residence" est vide pour certains enregistrements.
Modifié le 25 nov. 2023 à 06:48
réponse au #392
Dans mon formulaire F_ajouter_seances, j'ai des contrôles filtres mais dont je veux que l'information contenue soit ajoutée au sous formulaire.
ici, comment je dois appréhender la chose? est ce que je peux laisser tel quel? Ou bien, je mets mes contrôles filtres dans la partie "détail du formulaire" et j'ajoute des zones de texte qui renverront les choix effectués dans les filtres? Et ensuite c'est le contenu des zones de texte que j'ajoute au sous formulaire?
30 nov. 2023 à 12:17
En effet, pas de liste déroulante dans une table, les listes déroulantes ont leur places dans les formulaires.
4 déc. 2023 à 15:50
Concernant formulaire consultation et gestion des participations et de mes requêtes R_seances et R_recherche_seance
Les requêtes me semblent parfaites.
A propos des contrôles filtres du formulaire (en bleu):
Les listes déroulantes proposent des choix qui ne correspondent à aucune séance. C'est surtout visible pour le filtre sur les activités.
Tu pourrais, pour des raisons de convivialité, éviter cela en allant chercher les données pour les filtres dans la requête R_seances. Tu devras sans doute alors utiliser DISTINCT dans les requêtes sources des filtres, pour éviter les doublons dans les listes déroulantes.
(Je regarderai plus tard le contrôle filtre "date intervention")
5 déc. 2023 à 06:47
J'ai appliqué ce que tu m'as proposé. En effet c'est mieux !
mes contrôles filtres ne proposent que l'existant.
5 déc. 2023 à 07:37
Tu n'as pas assez de données (séances) pour t'en rendre compte, mais il peut y avoir des doublons dans tes listes déroulantes filtres de financement et d'activités.
Je m'étonne de la présence de la table d'activité dans la source de la liste déroulante filtre pour les activités.
Modifié le 5 déc. 2023 à 08:58
oui tu as raison, j'ai essayé d'ajouter des séances identiques et effectivement mes listes déroulantes me proposaient plusieurs fois la même valeur. J'ai ajouté "Distinct" à toutes mes requêtes sources des contrôles filtre. Maintenant cela fonctionne.Merci
J'ai oublié de retirer la table activités dans la liste déroulante filtre pour les activités.
Pour le contrôle filtre "date d'intervention", merci, j'oubliais de réexécuter la requête.
je suis bien maintenant ?: https://www.cjoint.com/c/MLfh43zrbaE
5 déc. 2023 à 10:47
Je pense que le formulaire est très bien, certainement assez bien que pour être utilisé, et puis voir les améliorations que demanderont les utilisateurs.
5 déc. 2023 à 12:31
super merci!
5 déc. 2023 à 07:48
Concernant le contrôle filtre "date intervention".
Je ne comprends pas ce que tu veux obtenir via l'évènement au clic,.
Pour l'évenement après MAJ, il me semble qu'il manque une action importante que tu fais pour les autres contrôles filtres.
6 déc. 2023 à 08:57
Je travaille sur un formulaire F_ajouter_personne.
En effet, quand je veux ajouter une séance d'animation, une information demandée est l'intervenant.
Les intervenants qui vont être proposés dans li liste déroulante du formuilaire F_ajouter_seances doivent avoir été créés au préalable avec le formulaire F_ajouter_intervenant.
Mais dans le formulaire F_ajouter_intervenant, les choix qui vont être proposés dans les listes déroulantes pour ajouter un intervenant vont dépendre de leur existence dans la Table T_personne.
Il me faut donc que je puisse donner le moyen de créer une personne.
Ma question est la suivante : dans ce formulaire ajouter_personne qui comme sur le modèle des autres formulaires d'ajout, aura une partie pour renseigner de l'information. Informations qui seront ajoutées au sous formulaire F_personne. Concernant les choix à faire sur : la civilité et la catégorie de personne, est ce que je peux définir moi même le contenu des listes déroulantes? Pour civilité "Monsieur, Madame". Pour catégorie de la personne "Résidents, Personnel, Partenaire, Prestataire, etc...) ou bien je dois absolument passer par une requête pour définir le contenu de la liste déroulante.
Car je n'ai nul part actuellement où aller chercher ces infos via des requêtes.
Si je fais une requête basée sur la catégorie de la personne, pour le moment, seules les catégories déjà créés sont proposées.
6 déc. 2023 à 09:23
Et aussi, pourquoi dans mon formulaire F_ajouter_personne, quand j'essaie d'ajouter les informations renseignées, les informations sont ajoutées à la Table T_personne mais pas au sous_formulaire F_personne ?
(je n'ai ajouté que les champs civilité, nom et prenom à ma requête "add_personne", pour essayer)
6 déc. 2023 à 09:51
Pour les listes déroulantes de civilité et de catégorie, je pense à trois façons de faire:
- mettre les choix possibles dans la définition de la liste "définir moi même le contenu des listes déroulantes"
- mettre ces choix dans une ou plusieurs tables. Soit une table civilités et une table catégories, ou une seule table avec deux champs, le nom de la liste et le choix possible
- utiliser des id, comme tu fais, par exemple, pour les résidences
Si tu utilises ces listes déroulantes à plusieurs endroits, l'avantage du 2 sur le 1, c'est qu'il ne faut changer à un seul endroit.
Le 3 est plus lourd, et permet de changer les noms des enregistrements existants. Par exemple, si on décide de dire "monseigneur" au lieu de "monsieur". Le choix 3 est parfois aussi intéressant pour des raisons de performance.
Dans ton cas, pour ces deux listes, j'utiliserais la solution 1.
Parfois, au lieu de liste, il est préférable d'utiliser des champs oui/non. Je ne pense pas que cela s'applique ici.
Un champ oui/non pour décider si monsieur ou madame.
Des champs oui/non pour chaque catégorie de personne. Cela permet, alors, qu'une personne soit dans plusieurs catégories.
6 déc. 2023 à 12:15
Moi je déplacerais le critère "active" de la requête R_personne vers la requête R_candidats.
6 déc. 2023 à 14:51
Il faut ajouter le champ "active" dans la partie SELECT de R_personne.
7 déc. 2023 à 11:37
"travailler à plusieurs simultanément sur un fichier access": cela dépend de l'environnement, de comment le fichier est partagé et accessible.
7 déc. 2023 à 12:41
mettre en place une fonctionnalité pour savoir qui a saisi de l'information dans le formulaire. J'ai mis en place un formulaire d'identification. J'aimerais qu'une fois que la personne s'identifie, je puisse savoir qu'elle a ajouté de l'info.
Cela pourrait être l'occasion de commencer à utiliser du VBA, et je ne pense pas que ce soit une bonne idée, tu as assez à apprendre pour le moment.
Je ferais ainsi:
- créer une table, "journal", avec, par exemple, des champs moment, personne, commentaire. Le champ moment pourrait être, par défaut, mis à "maintenant".
- laisser le formulaire d'identification ouvert pendant le reste du travail, ce qui permet d'utiliser, à tout moment, son contenu
- tu pourras ensuite, dans une macro, faire appel à une requête d'ajout qui crée un enregistrement dans la table journal
7 déc. 2023 à 13:49
OK, je verrais cela plus tard. Merci
8 déc. 2023 à 09:08
Je peux créer des doublons dans mon sous formulaire F_personne.
J'ai regardé ma table, il y a bien la propriété "indexé", "oui, sans doublon".
Comment je peux faire pour empêcher la création de doublon?
Modifié le 8 déc. 2023 à 10:33
Tu dois d'abord définir ce qu'est un "doublon".
Dans la table, pour quel champ ou quelle combinaison de champs vois-tu "sans doublon"?
8 déc. 2023 à 09:53
Oui c'est vrai. Je le vois sur "id_personne", ici le doublon serait la personne qui a le même prenom, nom et date de naissance. (il peut peut-être exister, un homonyme né le même jour, mais dans ma situation ce serait du jamais vu)
8 déc. 2023 à 10:42
Tu dois alors créer un index "sans doublon" sur la combinaison des trois champs.
2 nov. 2023 à 11:41
Tu avais récemment fait la même erreur.
Tu n'as pas choisi la bonne colonne liée dans le contrôle financement de ce formulaire.
Par ailleurs, je ne vois pas l'utilité de retourner id_residence dans la requête associée à ce contrôle.
2 nov. 2023 à 12:56
ce n'est pas dans la table activité que je dois récupérer "type financement"?
2 nov. 2023 à 13:01
"Colonne liée", c'est un des attributs du contrôle dans la définition du formulaire.
2 nov. 2023 à 16:28
J avais essayé de le mettre sur 4 colonnes et 4 colonnes liees et m assurer que chaque colonne avait une largeur suffisante pour faire apparaître l information mais ça n avait pas fonctionné.
2 nov. 2023 à 19:40
La colonne liée, c'est le n° de la colonne dont la valeur va être enregistrée dans le contrôle. Ce n'est certainement pas le nombre de colonnes.