Répondre à: LookUp function basée sur une combobox (multiple choice)
-
Avec plaisir… 😉
Alors j’ai indenté ton code pour y voir plus clair :
If(n FormNewHQ.Mode = FormMode.New,n Concat(n Distinct(n Split(n Concatenate(n Concat(n Filter(n AddColumns(n AccessManagement,n "Selectedcountries",n If(n IsEmpty(DataCardValue49_1.SelectedItems.Value),n "true",n If(n "yes" in Concat(n ForAll(n DataCardValue49_1.SelectedItems.Value,n If(Value in Country.Value, "yes", "no")n ),n Valuen ),n "true",n "false"n )n )n ),n Selectedcountries = "true"n ),n AdminEmailAccess,n ";"n ),n ";",n Concat(n Filter(n AddColumns(n AccessManagement,n "Selectedcountries",n If(n IsEmpty(DataCardValue49_1.SelectedItems.Value),n "true",n If(n "yes" in Concat(n ForAll(n DataCardValue49_1.SelectedItems.Value,n If(Value in Country.Value, "yes", "no")n ),n Valuen ),n "true",n "false"n )n )n ),n Selectedcountries = "true"n ),n HREmailAccess,n ";"n ),n ";",n Concat(n Filter(n AddColumns(n AccessManagement,n "Selectedcountries",n If(n IsEmpty(DataCardValue49_1.SelectedItems.Value),n "true",n If(n "yes" in Concat(n ForAll(n DataCardValue49_1.SelectedItems.Value,n If(Value in Country.Value, "yes", "no")n ),n Valuen ),n "true",n "false"n )n )n ),n Selectedcountries = "true"n ),n CentralApproverEmailAccess,n ";"n )n ),n ";"n ),n Resultn ),n Result,n ";"n ),n Parent.Defaultn)
Bon, le post n’étant pas très large ça n’aide pas non plus mais c’est déjà ça…
Je vois que tu as 3 blocs parfaitement identiques :
Filter(n AddColumns(n AccessManagement,n "Selectedcountries",n If(n IsEmpty(DataCardValue49_1.SelectedItems.Value),n "true",n If(n "yes" in Concat(n ForAll(n DataCardValue49_1.SelectedItems.Value,n If(Value in Country.Value, "yes", "no")n ),n Valuen ),n "true",n "false"n )n )n ),n Selectedcountries = "true"n)
Pour simplifier la maintenance de ton code, ce que je ferais c’est que je mettrais une galerie vide (supposons qu’elle s’appelle Gallery1), masquée, sur l’écran et j’y mettrais cette formule dans sa propriétés Items.
Du coup, ta grosse formule devient :
If(n FormNewHQ.Mode = FormMode.New,n Concat(n Distinct(n Split(n Concatenate(n Concat(n Gallery1.AllItems,n AdminEmailAccess,n ";"n ),n ";",n Concat(n Gallery1.AllItems,n HREmailAccess,n ";"n ),n ";",n Concat(n Gallery1.AllItems,n CentralApproverEmailAccess,n ";"n )n ),n ";"n ),n Resultn ),n Result,n ";"n ),n Parent.Defaultn)
Ce qui est quand même plus lisible… 😉
CommentID=ueu6hQtk5XhurdV, PostID=7sLjiaO0S60z9LY