SortByColums sur une colonne Lookup

Étiquetté : , ,

  • SortByColums sur une colonne Lookup

    Posté par Karlemagne sur 8 avril 2022 à 12h51

    Bonjour à tous,

    J’ai un problème de trie dans mon appli. J’ai une galerie affichant en information principale les données d’une Lookup() d’une table DataVerse. Je souhaitais effectuer un SortByColums() sur cette colonne, sauf que cela n’est pas possible. Après recherche sur internet, j’ai trouvé une première solution que voici :

    SortByColumns(AddColumns(Ma_Table;"New_Colonne";'Lookup'.'Nom_colonne');"New_Colonne";Ascending)

    L’affichage alphabétique sur ma galerie fonctionne à merveille, mais me fait planter mon var_Galery_Select.Gallery1.selected. Effectivement, quand je clique sur mon bouton de modif, cela m’ouvre bien mon EditForm() sauf qu’il est vide et j’ai comme erreur sur var_Galery_Select que je n’arrive pas à résoudre :

    var_Galery_Select = Il existe une erreur dans cette formule. Essayez de réviser la formule et de réexécuter

    De la, je me suis tourné vers une autre solution. Dans Ma_Table, j’ai crée une nouvelle colonne calculée au format texte avec comme formule :

    cr1a6_Ma_Relation.cr1a6_Ma_colonne_principale

    La je n’ai plus du tout d’erreur de variable dans PowerApps, par contre mon trie alphabétique ne fonctionne plus.

    Auriez-vous une solution à mon problème svp? que ce soit résolution d’une des 2 méthodes, ou bien une autre à me proposer?

    En vous remerciant par avance de vos retour.

    PostID=hA2JWyBLAAXO4pu

    R3dKap a répondu Il y a 11 mois, 4 semaines 1 Membre · 17 Réponses
  • 17 Réponses
  • R3dKap

    Membre
    8 avril 2022 à 15h17

    @Karlemagne ta première solution est la bonne.

    Par contre, je m’interroge sur ta variable var_Galery_Select. Ecrire var_Galery_Select.Gallery1.selected me semble pas normal (déjà, le “s” de “selected” devrait être en majuscule).

    Où est-ce que tu alimentes cette variable var_Galery_Select et avec quel code ?

    Qu’as-tu sur les propriétés Datasource et Item de ton formulaire d’édition ?

    CommentID=35J6cHo1QHbJkdk, PostID=hA2JWyBLAAXO4pu

    • Karlemagne

      Membre
      8 avril 2022 à 15h56

      Autant pour moi, j’ai écris ce post un peu vite et n’est pas pris le temps de me relire. Le code exact est :

      UpdateContext({var_Galery_Select: Gallery1.Selected})

      Cette variable est alimentée via le chevron standard des galeries par défaut dès que je clique dessus.

      Les DataSource et Item de mon EditForm sont respectivement :

      Ma_Tablenvar_Galery_Select

      Cette fois j’ai pris le temps de me relire, donc il ne devrait plus y avoir d’erreur 😜

      SubCommentID=nn7vvs7152xkDmo, CommentID=35J6cHo1QHbJkdk, PostID=hA2JWyBLAAXO4pu

  • R3dKap

    Membre
    8 avril 2022 à 16h30

    Est-ce que ta galerie et ton formulaire d’édition sont sur le même écran ?

    Si ton formulaire d’édition est sur un écran dédié différent de celui de la galerie, alors la bonne pratique est la suivante :

    • tu retires le code que tu as sur le chevron

    • sur le OnSelect de la galerie tu mets ceci :
      Navigate(EditScreen; ScreenTransition.None; {locGallerySelect: Gallery1.Selected})

    • sur le Item du formulaire d’édition tu mets locGallerySelect

    En effet, c’est le fait de passer le Gallery1.Selected dans le 3è paramètre du Navigate() qui va le transmettre à l’écran cible à l’intérieur d’une variable LOCALE locGallerySelect.

    Si ton formulaire et ta galerie sont sur le même écran il n’y a pas besoin de variable. Il suffit de mettre directement Gallery1.Selected sur le Item du formulaire.

    Tu me suis ?

    CommentID=XvpJHQwsORdxzN3, PostID=hA2JWyBLAAXO4pu

    • Karlemagne

      Membre
      8 avril 2022 à 16h58

      Les 2 sont sur le même écran.

      En cas de 2 écrans bien distinct, je savais qu’il fallait passer par une variable, sauf que j’ignorais le 3ème paramètre du Navigate(), mais concernant un écran unique, je pensais qu’il fallait également une variable. Je viens de virer celle-ci, remplacer cette même variable par Gallery1.Selected sur mon Item et les autres contrôles qui l’appelait, mais cela ne change rien. J’ai le même message d’erreur avec en plus :

      Formule non valide. Une valeur compatible avec “DataSource” est attendue.

      SubCommentID=0jr8p39FwDYr2nD, CommentID=XvpJHQwsORdxzN3, PostID=hA2JWyBLAAXO4pu

  • R3dKap

    Membre
    11 avril 2022 à 11h38

    Alors en fait ton problème vient de la structure de ce qu’il y a dans ta galerie (qui est transmis à ton formulaire) qui ne correspond pas à la structure qu’il y a dans ton formulaire (j’avais oublié cet aspect-là quand je t’ai donné la soluce l’autre jour).

    En effet, dans ta galerie tu as rajouté une colonne à ta source de données pour pouvoir faire ton tri sur la colonne de lookup. Cette colonne n’étant pas connue de ta datasource du formulaire (car pointant directement sur Ma_Table), il affiche le message d’erreur…

    Pour éviter ça, le plus simple que je vois c’est de mettre ceci dans le Item du formulaire :

    LookUp(Ma_Table; ID=Gallery1.Selected.ID)

    CommentID=ZGEtsqrUGId12xV, PostID=hA2JWyBLAAXO4pu

  • R3dKap

    Membre
    11 avril 2022 à 11h38

    Alors en fait ton problème vient de la structure de ce qu’il y a dans ta galerie (qui est transmis à ton formulaire) qui ne correspond pas à la structure qu’il y a dans ton formulaire (j’avais oublié cet aspect-là quand je t’ai donné la soluce l’autre jour).

    En effet, dans ta galerie tu as rajouté une colonne à ta source de données pour pouvoir faire ton tri sur la colonne de lookup. Cette colonne n’étant pas connue de ta datasource du formulaire (car pointant directement sur la liste), il affiche le message d’erreur…

    Pour éviter ça, le plus simple que je vois c’est de mettre ceci dans le Item du formulaire :

    LookUp(Ma_Table; ID=Gallery1.Selected.ID)

    CommentID=AQiyHZBvVOoSFRd, PostID=hA2JWyBLAAXO4pu

    • Karlemagne

      Membre
      11 avril 2022 à 11h54

      Nickel, ça fonctionne. Maintenant je vais me pencher sur le tri des doublons dans ma galerie, tout en gardant l’ordre alphabétique via cette colonne de tri. Mais avant de demander de l’aide, je vais d’abord essayer de trouver la solution par moi-même. Je reviendrais si besoin dans l’hypothèse ou je n’y arriverais pas …🙄

      SubCommentID=AJgknzXGT0J3iqF, CommentID=AQiyHZBvVOoSFRd, PostID=hA2JWyBLAAXO4pu

  • R3dKap

    Membre
    11 avril 2022 à 12h18

    Regarde l’exemple dans la doc officielle du Distinct(), il pourrait t’aider…

    CommentID=IpX37AGfmPHX2jK, PostID=hA2JWyBLAAXO4pu

    • Karlemagne

      Membre
      12 avril 2022 à 14h32

      Merci pour ton conseil, j’étais effectivement partie sur le Distinct(). Après recherche et essai, j’en suis arrivé à cette formule :

      Distinct(SortByColumns(AddColumns(Ma_Table;"New_Colonne";Ma_Lookup.Nom_colonne);"New_Colonne";Ascending);New_Colonne)

      Dans ma galerie, tout se passe comme je le désire. Le seul inconvénient, c’est que je ne peux plus faire appel à la colonne ID de ma table, comme le code que tu m’avais donné pour mon EditForm()

      LookUp(Ma_Table; ID=Gallery1.Selected.ID)

      que j’ai du transformé en

      LookUp(Ma_Table;Ma_Lookup.Nom_colonne= Gallery1.Selected.Result)

      pour ne plus avoir d’erreur dessus. Seulement j’ai également une erreur sur mon Patch() de modification qui se présente à l’origine comme tel (en version allégé)

      Patch(Ma_Table;Table({ID:Gallery1.Selected.ID}))

      Mais dès que je supprime la ligne qui fait référence à la colonne d’ID, il n’y a plus d’erreur affiché… sauf que je ne peux plus mettre à jour l’enregistrement, ça m’en crée un nouveau à la place…

      SubCommentID=xntZvrQ56pROODv, CommentID=IpX37AGfmPHX2jK, PostID=hA2JWyBLAAXO4pu

  • R3dKap

    Membre
    12 avril 2022 à 19h42

    @Karlemagne il y a un problème de fond sur ton cas d’usage. En effet, supprimer les doublons d’une liste peut être “tricky”… Si ta liste possède d’autres colonnes que celle où tu veux supprimer tes doublons, comment décides-tu celles qu’il faut supprimer et celle qu’il faut conserver ? Par exemple, si tu as une liste Voitures :

    Marque   Modèlen------   ------nRenault  MéganenRenault  ClionPeugeot  3008nCitroën  Cactus

    Et que tu décides de faire un Distinct(Voitures; Marque), est-ce que tu supprimes la Mégane ou la Citroën ?

    Une autre technique pour ne pas avoir de doublons pour une colonne est d’utiliser le GroupBy() :

    GroupBy(Voitures; "Marque"; "Modèles")

    Tu obtiendras ceci :

    Marques  Modèlesn-------  -------------nRenault  [{Modèle: "Mégane"}; {Modèle: "Clio"}]nPeugeot  [{Modèle: "3008"}]nCitroën  [{Modèle: "Cactus"}]

    Les crochets représentant une table au sens Power Apps…

    Tout dépend de ton réel cas d’usage et des raisons pour lesquelles tu veux supprimer les doublons.

    Dis-nous en plus…

    CommentID=PPx65PRb1kXs6P6, PostID=hA2JWyBLAAXO4pu

    • Karlemagne

      Membre
      13 avril 2022 à 13h00

      Re tlm,

      A force de chercher, j’ai compris pourquoi le Distinct() ne voulait pas fonctionner avec ma colonne ID. J’ai voulu utiliser le GroupBy(), sauf que la je n’arrive pas à faire fonctionner, vu qu’il refuse de travailler avec mes colonnes de recherche. Plus je fais des essais, plus j’ai d’erreur qui s’affiche, donc je préfère arrêter là avant de planter toute mon appli et d’être obligé de revenir en arrière.

      Voici donc mon besoin :

      En fait à mon boulot, certains services ont des vêtements de travail, et il y a plusieurs types de vêtements, tous en location. Sauf cas exceptionnel, chaque personne ayant besoin d’un vêtement s’en voit donc attribuer 3, à cause de la rotation de nettoyage. J’avais créer un fichier Excel pour gérer les entrées/sorties, mais à force d’avoir différentes macros qui gère aussi bien les départs que les retours mais en plus les renommages et/ou remplacement de vêtements, celui-ci commence à être lourd et à avoir des difficulté de fonctionnement par moment. En remplacement de ce fichier, j’ai donc décidé de créer une appli PowerApps qui fonctionnera sur téléphone, car chaque vêtement à un code-barre unique, d’où une facilité de gestion.

      Comme visible sur la photo ci-dessus, j’ai crée plusieurs tables Dataverse (tout ce qui est partie accessoires à droite n’est pas encore crée, car gestion différente) listant le nom de chaque porteur dans la 1ère avec 63 porteurs au total; le code article désignant donc le type de vêtement dans la 2ème avec 6 types de vêtements (la colonne “Code converti” est temporaire et récupère juste la valeur du code article via une formule); les différentes taille disponible dans la 3ème (7 tailles au total); et la 4ème table me sert dans un 1er temps à attribuer un type de vêtement à un porteur avec la taille (les colonne en rouge sont donc pour le moment non utilisé).

      Chaque table est alimentée par un écran dédié. Concernant la 4ème table, j’arrive à l’alimenter sans problème. La ou je bloque, c’est pour les modifications, car comme je l’ai dis plus haut, 38 porteurs ont 3 vêtements à disposition (les 23 restants peuvent n’en avoir qu’un ou 2), et chaque enregistrement attribue 1 vêtement à 1 porteur, ce qui fait que ma galerie va m’afficher jusqu’à 3 entrées par porteur : 1 par vêtement mais avec 3 fois le même nom. Et ce que je souhaite, c’est filtrer les noms de façon qu’ils n’apparaissent qu’une seule fois, mais avec une étiquette précisant le nombre de vêtement pour chaque porteur en utilisant un CountIf(). Certains porteurs peuvent également avoir 2 types de vêtements différents, mais je me pencherais là-dessus plus tard quand le problème de filtrage par porteur sera résolu.

      Voila pour les 1ères explications. Si besoin de plus de détails ou de Screenshot, n’hésitez pas à demander.

      SubCommentID=s8jD5wd8Oru3es7, CommentID=PPx65PRb1kXs6P6, PostID=hA2JWyBLAAXO4pu

  • R3dKap

    Membre
    14 avril 2022 à 15h57

    Aaaaaaaah ! Un modèle de données… Top ! 👍 Tellement plus facile pour comprendre le cas d’usage… 😉 Merci.

    Alors, pour t’aider efficacement, il faudrait que tu me décrives (avec captures à l’appui) ce que tu as déjà fait dans l’application. Pense à bien me préciser les noms des écrans et ce que tu as mis dans le Items des galeries et dans le Datasource et le Item de tes formulaires.

    Alors je pourrais te dire comment peut-être réorganiser les données dans l’app pour te faciliter la vie : genre, afficher les porteurs avec la quantité de vêtements pour chacun d’eux, puis après sélection, choix du vêtement et traitement du formulaire vêtement). A voir…

    CommentID=rX1FpqPu1zXdpIT, PostID=hA2JWyBLAAXO4pu

    • Karlemagne

      Membre
      15 avril 2022 à 10h00

      Merci de ton retour @R3dKap,

      Voici déjà quelques infos. Je n’utilise aucune variable globale pour le moment, que des contextuelles.
      J’ai un premier écran qui me sert uniquement a accéder à mes autres écrans. L’écran des accessoires est vide pour le moment, donc je ne le détallerais pas, surtout que la table correspondante ne va pas servir pour les vêtements.

      Sur chaque écran, j’affiche une galerie faisant appel à sa table correspondante.

      Pour la liste des porteurs :

      avec pour Item

      SortByColumns('Liste porteurs vêtements';"cr1a6_nom_porteurs";Ascending)

      Le bouton Ajouter m’ouvre un NewForm() sur le même écran en me rendant visible un groupe masqué :

      Sans Item mais avec en DataSource la table des porteurs :

      'Liste porteurs vêtements'

      Dans la galerie, il y a un chevron à droite qui m’envois sur un EditForm(), toujours sur le même écran en me rendant visible un second groupe masqué :

      Avec en DataSource la même table et en Item :

      Liste_porteurs.Selected

      Pour la liste des types de vêtements :

      avec pour Item

      SortByColumns('Liste types vêtements';"cr1a6_type_vetements";Ascending)

      Le bouton Ajouter m’ouvre un NewForm() sur le même écran en me rendant visible un groupe masqué :

      Sans Item mais avec en DataSource la table des types de vêtements :

      'Liste types vêtements'

      Dans la galerie, il y a un chevron à droite qui m’envois sur un EditForm(), toujours sur le même écran en me rendant visible un second groupe masqué :

      Avec en DataSource la même table et en Item :

      Liste_types_vetements.Selected

      Pour la liste des tailles de vêtements :

      avec pour Item

      SortByColumns('Liste tailles vêtements';"cr1a6_taille_vetements";Ascending)

      Le bouton Ajouter m’ouvre un NewForm() sur le même écran en me rendant visible un groupe masqué :

      Sans Item mais avec en DataSource la table des types de vêtements :

      'Liste tailles vêtements'

      Dans la galerie, il y a un chevron à droite qui m’envois sur un EditForm(), toujours sur le même écran en me rendant visible un second groupe masqué :

      Avec en DataSource la même table et en Item :

      Liste_tailles_vetements.Selected

      Pour la liste des attributions de vêtements :

      C’est l’écran qui me pose problème avec mes lookup()

      Actuellement avec pour Item :

      Distinct(SortByColumns(AddColumns('Liste vêtements';"Test_Triage";'Porteur vêtement'.'Nom porteurs');"Test_Triage";Ascending);Test_Triage)

      Le bouton Ajouter m’ouvre un NewForm() sur le même écran en me rendant visible un groupe masqué :

      Sans Item mais avec en DataSource la table des types de vêtements :

      'Liste vêtements'

      Dans la galerie, il y a un chevron à droite qui m’envois sur un EditForm() si le porteur n’a qu’un seul vêtement d’attribué, toujours sur le même écran en me rendant visible un second groupe masqué :

      Avec en DataSource la même table et en Item actuel :

      LookUp('Liste vêtements';'Porteur vêtement'.'Nom porteurs'=Liste_attribution_vetements.Selected.Result)

      Seulement avec le système actuel, je ne peux plus modifier d’enregistrement à cause de l’ID qui n’est plus lu.

      Je n’ai pas encore travaillé dessus, mais dans le cas ou le porteur aura au minimum 2 vêtements d’attribué, le chevron de la galerie m’affichera une liste de tous les vêtements du porteur en question soit dans une seconde galerie, soit dans un FormViewer(). Je n’ai pas encore réfléchis à la question.

      Voila pour les infos. Si besoin de plus de renseignement, je reste dispo.

      SubCommentID=NkQNVTl1FHQKa9F, CommentID=rX1FpqPu1zXdpIT, PostID=hA2JWyBLAAXO4pu

  • R3dKap

    Membre
    21 avril 2022 à 19h56

    Salut @Karlemagne,

    Voici mes recommandations pour simplifier et optimiser ton application…

    Modèle de données

    La colonne Code vêtements dans Liste types vêtements ne devrait pas être là : le code du vêtement n’est pas propre au type de vêtement mais plutôt au vêtement lui-même qui est dans Liste vêtements. Ou alors cette colonne représente le code du type de vêtement, auquel cas elle devrait alors s’appeler Code type de vêtement. Là c’est toi qui sais… Mais par contre je ne vois pas pourquoi il y aurait aussi une colonne Code vêtement dans Liste vêtements (puisqu’il y a un lien de Liste vêtements vers Liste types vêtements) : je trouve que ça fait doublon. Une donnée n’est censé exister (sauf besoin spécifique) qu’à un seul endroit.

    Tel que tu as conçu ta table Liste vêtements, ta colonne Porteur vêtement ne peut pas être obligatoire puisque le vêtement peut exister sans être attribué à personne. Et cela me fait dire du coup que la colonne Disponible n’a pas vraiment de sens puisqu’il suffit de regarder Porteur vêtement : s’il y a quelqu’un dessus c’est que le vêtement est attribué et il n’est donc pas disponible, et dans le cas contraire il est dispo.

    Il faut bien ficeler ton modèle de données pour te faciliter la vie après quand tu réalises l’application. 😉

    D’ailleurs, autre remarque : plusieurs de tes colonnes devraient être au singulier plutôt qu’au pluriel -> Nom porteur (sans ‘s’) car ce champ porte le nom d’UN porteur ; Code vêtement (sans ‘s’) car il représente le code d’UN vêtement. Etc… 😉

    Concernant les écrans, je les aurais organisé comme détaillé ci-dessous… 🙂

    Accueil

    Un écran Accueil (anciennement sur l’écran Gestion_Liste_porteurs) pour lister tous les porteurs avec le nombre de vêtements pour chacun d’eux. Un bouton ‘engrenage’ pour aller sur l’écran Paramètres (voir plus bas).

    Sur le Items de la galerie tu aurais (tu l’avais déjà fait) :

    SortByColumns(n    'Liste porteurs vêtements';n    "cr1a6_nom_porteurs";n    Ascendingn)

    Pour afficher le nombre de vêtements du porteur, tu y mets un libellé avec la formule suivante :

    CountIf(n        'Liste vêtements';n        'Porteur vêtement'.'Nom porteurs' = ThisItem.'Nom porteurs'n)

    Au clic sur un porteur on arrive sur un écran Attributions (voir plus bas) avec la formule suivante :

    Navigate(n    Attributions;n    ScreenTransition.None;n    {n        locSelectedPorteur: ThisItemn    }n)

    Tu transmets ainsi le porteur sélectionné à l’écran cible dans une variable locSelectedPorteur qui sera locale à l’écran Attributions.

    Astuce : tu pourrais aussi ajouter un composant Toggle Set sur ton écran pour permettre de filtrer la liste avec des valeurs “Tous“, “Avec vêtements“, “Sans vêtements“.

    Paramètres

    Un écran Paramètres (anciennement Accueil) avec les boutons pour gérer les différentes tables de paramétrage (types de vêtements, tailles, types d’accessoires et liste des accessoires)

    Chaque bouton amène sur un écran dédié à chaque table (qui fonctionne toujours de la même façon pour les différentes tables) et qui liste les éléments de la table (voir l’exemple de Types de vêtements plus bas).

    Porteur

    Un écran Porteur (anciennement les groupes Groupe_Ajout_porteur et Groupe_Modif_porteur sur l’écran Gestion_Liste_porteurs) pour créer/éditer un porteur

    Quand on y vient pour modifier un porteur le titre est plutôt Modifier porteur.

    Liste types de vêtements

    Un écran Liste types de vêtements qui liste tous les types de vêtements (et la logique ci-après est la même pour les autres tables : tailles, types d’accessoires, accessoires) avec un bouton ‘+’ en haut à droite pour créer et un bouton ‘<‘ en haut à gauche pour revenir en arrière

    Au clic sur un élément de la galerie on arrive sur un écran Type de vêtement (du même style que l’écran Porteur) où on peut modifier le type de vêtement.

    Et quand on clique sur le ‘+’ en haut à droite on arrive sur le même écran Type de vêtement mais avec le formulaire en mode Création.

    Attributions

    Un écran Attributions qui affiche le porteur concerné ainsi qu’une galerie avec la liste des vêtements du porteur :

    L’icône ‘<‘ te ramène sur l’écran précédent.

    L’icône ‘+’ affiche une popup où tu peux choisir parmi les vêtements disponibles (ceux dont la colonne Porteur vêtement est vide) et valider l’attribution.

    L’icône ‘poubelle’ qui affiche une popup de confirmation et qui, sur validation, supprime l’affectation du vêtement au porteur en remettant simplement à blanc la colonne Porteur vêtement sur la ligne du vêtement concerné dans la table Liste vêtements.

    Cette galerie aurait ceci dans Items :

    Filter(n    'Liste vêtements';n    'Porteur vêtement'.'Nom porteurs' = locSelectedPorteur.'Nom porteurs'n)

    Voilà. Si tu as besoin d’aide n’hésite pas… Ca change un peu par rapport à la direction que tu avais prise, mais c’est ce qui me semble être le plus simple, le plus efficace et le plus intuitif pour tes utilisateurs…

    CommentID=3vp3W5YgmZYCbBe, PostID=hA2JWyBLAAXO4pu

    • Karlemagne

      Membre
      22 avril 2022 à 11h42

      Merci de ton retour @R3dKap,

      Il y a peut-être certains points que j’ai mal expliqué, voir pas expliqué du tout.

      Pour ta 1ère remarque :

      La colonne Code vêtements dans Liste types vêtements ne devrait pas être là

      La colonne Code vêtements dans Liste types vêtements correspond bien au type de vêtement, effectivement je l’ai mal nommée, autant pour moi.

      Pour ta 2ème remarque :

      Mais par contre je ne vois pas pourquoi il y aurait aussi une colonne Code vêtement dans Liste vêtements

      Effectivement faut que je revois ce point.

      Pour ta 3ème remarque :

      puisque le vêtement peut exister sans être attribué à personne.

      Oui et non. En fait sur chaque vêtement il y a une étiquette avec un code-barre, un code article, une taille, et un nom (par défaut un nom de porteur si attribué à quelqu’un, sinon un nom bateau si destiné à visiteurs). Donc tous les vêtements ne sont pas forcément attribués à une personne spécifique. Surtout que certains vêtements ont encore le nom d’anciens employés et prêtés actuellement à des intérimaires. La liste Porteur vêtement liste en fait chaque nom inscrit sur les vêtements.
      La colonne Disponible me servira plus tard pour savoir si le vêtement en question est sur site (donc disponible) ou parti au nettoyage (donc NON disponible).

      Pour tes propositions d’écran, j’étudie cela à tête reposé et te tiens au courant.

      SubCommentID=yiU0b2sllQCJbem, CommentID=3vp3W5YgmZYCbBe, PostID=hA2JWyBLAAXO4pu

    • Karlemagne

      Membre
      4 mai 2022 à 11h13

      Bonjour @R3dKap,

      Petit retour sur mon appli. J’ai enfin réussi à résoudre mon problème, mais d’une autre manière dont voici les détails au cas ou cela intéresse quelqu’un un jour :

      1°) Pour commencer, j’ai crée une nouvelle colonne texte dans ma table qui récupère la valeur de ma colonne de recherche sur le nom des porteurs. Je l’ai tout simplement appelé “Porteur converti”.

      2°) Ensuite, dans l’Item de ma galerie, pour que les noms ne soit affichés qu’une seule fois et dans l’ordre alphabétique, j’ai mis le code suivant :

      SortByColumns(Distinct('Liste vêtements';'Porteur converti');"Result";Ascending)

      3°) Dans le OnSelect() du chevron qui se trouve en face de chaque nom, j’ai le code suivant

      ClearCollect(Filtrage;Filter('Liste vêtements';'Porteur converti'=ThisItem.Result));;UpdateContext({var_Affichage_attribution_vetements: true})

      qui me crée un collection et m’affiche ensuite un pop-up avec une nouvelle galerie listant tous les vêtements du nom en question. L’Item de cette galerie contient uniquement le nom de ma collection.

      De cette façon, je peux de nouveau mettre à jour un enregistrement en utilisant l’ID via mon EditForm(), vu que le Distinct() de ma 1ère galerie ne vient pas perturber les infos de ma seconde galerie qui est alimentée via la collection.

      SubCommentID=9ypiIqFzTXzlh3D, CommentID=3vp3W5YgmZYCbBe, PostID=hA2JWyBLAAXO4pu

  • R3dKap

    Membre
    4 mai 2022 à 11h17

    Content que ça marche… 😉

    CommentID=iC7ru4H3PuA348f, PostID=hA2JWyBLAAXO4pu

Connectez-vous pour répondre.