Aujourd’hui, c’est Daniel qui vient demander de l’aide…
Bonjour,
Je voudrais compter le nombre de fois que le même prénom apparaît :
Il s’agit d’une liste de 5 prénoms ; je voudrais compter le nombre de fois qu’une tâche a été attribuée à une personne (afin de bien équilibrer)
Merci pour votre aide.
Merci à Daniel pour sa question.
La question de Daniel
Si je la comprends bien, sa question est, pour 5 personnes (5 prénoms), répartir des tâches.
Nous avons donc ici :
- Une liste des personnes.
- Une liste de tâches
- Une affectation de ces tâches aux personnes de la liste n°1
- Un calcul ou plutôt, une statistique, pour compter le nombre de tâches que doit remplir chaque personne.
Dans FileMaker, il existe souvent plusieurs chemins pour aller à Rome…
Et pour savoir lequel emprunter, on peut partir d’au moins deux points de départ selon la familiarité que l’on a avec FileMaker…
On peut faire comme on sait faire. Je veux dire par là que lorsqu’on débute sur FileMaker ou qu’on n’en connaît pas encore toute la puissance, notre approche est essentiellement technique et elle suit le seul parcours connu.
On peut faire comme il nous semble être le plus pertinent pour l’utilisateur final. Le souci est alors que « l’interface utilisateur » soit la plus conviviale et la plus riche possible, qu’elle corresponde aux besoins de l’utilisateur final et aussi – plus subtil – à sa manière de travailler…
Alors, je vais prendre la question de Daniel comme terrain d’exercice pour comprendre ce qu’il en est…
Le tronc commun à nos deux solutions
Les deux solutions qui peuvent répondre à la question de Daniel ont un tronc commun : la création de tables et de liens. Dans l’exposé que j’en ai fait ci-dessus, on voit clairement que nous avons deux entités qui, d’une manière ou d’une autre, doivent être distinguées (une personne n’est pas une tâche et une tâche n’est pas une personne) et mises en relation (une personne accomplit des tâches et une tâche est accomplie par une personne). On crée donc des tables – Personne, Tâche – et des liens.
Pour ne pas alourdir mon propos et éviter de rendre les solutions proposées trop complexes à élaborer, j’imagine qu’une personne peut accomplir plusieurs tâches (c’est la demande de Daniel) mais qu’une tâche n’est accomplie que par une personne. Nous avons donc un lien de 1 (une personne) à plusieurs (plusieurs tâches). Le lien est alors créé dans le graphe des liens à l’aide des rubriques d’identifiants primaires et étrangers (1)… Notre graphe de liens ressemble donc à ceci :
Notre socle commun étant créé, nous pouvons maintenant aborder les deux solutions pour concrètement répondre à la demande de Daniel.
Solution 1 : Table externe
La solution qui vient le plus spontanément à l’esprit et qui est sans doute la plus simple à mettre en oeuvre est la création d’une table externe dans la fiche de la personne, table externe qui affiche toutes ses tâches.
Une simple rubrique statistique, Decompte_taches_s, créée dans la table Tache (2), permet, à travers le lien entre Personne et Tache, de faire le décompte. Notre modèle ressemble à ceci :
On répond donc bien ici à la demande de Daniel.
Reste une demande sous-entendue par Daniel mais non ouvertement exprimée… La possibilité de répartir les tâches autrement entre les 5 personnes : si Pierre a trop de travail et Paul pas assez, on en refile à Paul depuis Pierre…
Et là, on se heurte à un problème d’interface utilisateur.
En effet, pour affecter la ou les tâches en trop de Pierre à d’autres que lui, il faut dans le même temps :
- Voir ce qui se passe chez Pierre – le nombre de tâches mais aussi (et surtout) quelles tâches il a ;
- Voir ce que ses collègues ont actuellement comme tâches. Pas question en effet de soulager Pierre en noyant de travail Paul qui en a déjà trop tandis que Jean n’a rien à faire, ni de lui attribuer une tâche pour lesquelles il n’a pas les compétences !
En plus, cette migration de tâches doit pouvoir se faire de la manière la plus simple qui soit : depuis la liste des personnes, on choisit celui à qui l’on veut affecter cette tâche et la tâche se transporte tout simplement pour se rendre chez son nouveau propriétaire 😉
Pour l’instant, nous avons un modèle présenté en vue Formulaire. Pourquoi en vue Formulaire ? Parce que, même si techniquement parlant, il est possible de mettre une table externe à l’intérieur des lignes d’un modèle présenté en vue Liste, cela ne se fait pas habituellement car ce n’est pas très convivial 😉 Or, la vue Formulaire ne présente qu’un enregistrement à la fois, c’est-à-dire dans notre cas, qu’une seule personne, avec sa table externe et sa rubrique statistique…
Bien entendu, on peut trouver des solutions pour voir les autres collègues et leurs tâches dans l’enregistrement de la personne. Surtout lorsqu’ils ne sont que quatre… Mais il existe une solution bien plus simple que cela 😉
Marie-Charlotte Potton
(1) Si vous n’êtes pas à l’aise sur les liens, les identifiants et le graphe des liens, voir le pack de fiches Astuce, Graphe des liens. Voir également l’eBook de la collection Les Essentiels, Tables, occurrences de table et graphe des liens.
(2) Sur les rubriques statistiques, voir la fiche Astuce n°99. Voir également la fiche Astuce n°89, qui propose toute une mise en œuvre des statistiques autour de listes de valeurs multichoix 😉
Article suivant : à venir
Retrouvez tous les tutoriels cités dans cet article et bien d’autres sur notre librairie en ligne FileMaker. Rédigés exclusivement en français et illustrés d’abondantes copies d’écran, ils vous prennent en main pas à pas pour réaliser tel ou tel aspect de tout ce qui peut vous aider à réussir votre projet FileMaker…
Tags: Identifiants, liens, Liste, table externe
Merci de laisser un commentaire (Pas de commentaire )
Désolé, les commentaires des articles réservés sont eux-mêmes réservés
Il n'y a pas de commentaire pour l'instant, soyez le premier ;-)