Champs obligatoire selon condition

Étiquetté : , ,

  • Champs obligatoire selon condition

    Posté par Laure KERFOURN sur 28 avril 2022 à 17h07

    Bonjour,

    Je me dirige vers vous car je suis complètement bloquée sur un petit paramètre de mon application.

    J’ai créé une application pour faire un suivi de notre matériel depuis une Microsoft List en utilisant des statuts différents.

    J’ai plusieurs datacard qui correspondent aux colonnes de ma liste.
    Je souhaiterai que remplir le champs “N° chantier” devienne obligatoire si dans la liste des statuts “Chantier” est sélectionné. (voir l’image ci-dessous)

    Je ne sais pas comment récupérer le texte du statut afin de pouvoir mettre une formule avec une condition dans le champs “Required” des paramètres de la carte.

    Pouvez vous m’aider svp ?

    Merci par avance

    Cdt

    Laure

    PostID=HDHDnwxH2PAioPP

    Laure KERFOURN a répondu Il y a 7 mois, 2 semaines 1 Membre · 8 Réponses
  • 8 Réponses
  • Geoffroy

    Membre
    28 avril 2022 à 17h24

    Bonjour Laure,

    Est-ce qu’une formule du genre If(Statut.SelectedText.Value=”Chantier”;true;false) pourrait convenir ?

    Après, ça dépend d’où la liste déroulante tire ses valeurs. Dans mon exemple, je mets .Value car la propriété Items est une liste du genre [“Chantier”;”Travaux”;”Repos”].

    S’il s’agit d’une liste SharePoint, il faudra mettre .Title (ou le nom de la colonne correspondante).

    CommentID=87fEqJ8yHIKEMwu, PostID=HDHDnwxH2PAioPP

  • Laure KERFOURN

    Membre
    28 avril 2022 à 17h29

    Bonjour,

    Merci pour votre réponse.

    Sur le principe c’est exactement ce que je veux faire, mais je ne savais pas quelle formule taper (malgré de longues recherches). Par contre il s’agit effectivement d’une liste sharepoint.

    Je dois mettre où le nom de la colonne dans la formule ?

    CommentID=cztd0S3Gf5yOGF1, PostID=HDHDnwxH2PAioPP

    • Geoffroy

      Membre
      28 avril 2022 à 17h40

      S’il s’agit de la colonne Title, il faudra écrire If(Statut.SelectedText.Title=”Chantier”;true;false)

      Sinon, remplacez Title par le nom de la colonne. Normalement, PowerApps propose les noms quand on met le point.

      SubCommentID=5f3rhHLHqo8wDKB, CommentID=cztd0S3Gf5yOGF1, PostID=HDHDnwxH2PAioPP

    • Laure KERFOURN

      Membre
      28 avril 2022 à 17h59

      Je ne comprend pas pourquoi mais Power Apps ne veut pas de cette formule. Elle n’existe pas pour lui.

      Il faut bien que je rentre cette formule en ayant sélectionné “Required” ?

      SubCommentID=W0g3WcPliTVB3Z0, CommentID=cztd0S3Gf5yOGF1, PostID=HDHDnwxH2PAioPP

    • Geoffroy

      Membre
      28 avril 2022 à 18h40

      Et avec ThisItem.Statut ?

      SubCommentID=n46iE5v2TQUOO4Y, CommentID=cztd0S3Gf5yOGF1, PostID=HDHDnwxH2PAioPP

    • Geoffroy

      Membre
      28 avril 2022 à 20h04

      Je me rends compte que j’ai supposé implicitement que le nom de la liste déroulante était “Statut”. Mais c’est le vrai nom de ce contrôle (Dropdown1 par exemple) qu’il faut utiliser.

      La formule serait donc If(Dropdown1.SelectedText.Title=”Chantier”;true;false)

      SubCommentID=tGJpxVBSyuNwfuQ, CommentID=cztd0S3Gf5yOGF1, PostID=HDHDnwxH2PAioPP

  • R3dKap

    Membre
    28 avril 2022 à 21h02

    @Laure KERFOURN, @Geoffroy WAGNER a raison : l’idée c’est d’accéder à la valeur texte de la liste déroulante du statut.

    Perso, je le fais plutôt de cette manière : DataCardValue1.Selected.Value te renverras “Chantier“.

    Bien sûr, ta liste déroulante de statut ne s’appelle peut-être pas DataCardValue1. A toi de mettre le bon nom… 🙂

    Enfin, pour la formule à mettre dans la propriété Required de ton datacard de N° chantier, tu peux simplement le faire ainsi :

    DataCardValue1.Selected.Value = "Chantier"

    C’est tout. En effet, écrire If(A=B; true; false) revient à écrire A=B car un test d’égalité renvoie de lui-même toujours true ou false.

    CommentID=PxQg4cJbPAQGuU2, PostID=HDHDnwxH2PAioPP

    • Laure KERFOURN

      Membre
      29 avril 2022 à 7h35

      Merci beaucoup pour votre réponse! ça fonctionne parfaitement !!
      En effet c’était tout simple ^^

      SubCommentID=B0oIF9q3POAD1l4, CommentID=PxQg4cJbPAQGuU2, PostID=HDHDnwxH2PAioPP

Connectez-vous pour répondre.