cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
LennartWalldén
Advocate II
Advocate II

Set People Picker Field from Text String

Hi all,

 

I have a Project Management app, where I would like to use People Picker field for "Project Lead" instead of text string, which we have used before.

 

What I have is the persons Name(text string) and E-mail address(text string). Now I want to populate a People Picker field using the Name or E-mail.

 

I am trying to use this code, but I get some error messages when trying:

 


UpdateIf(Projektlista; Projektfas.Value="05 Driva";
{
Projektledare: {
'@odata.type': "#Microsoft.Azure.Connectors.SharePoint.SPListExpandedUser";
Department: "";
Claims: "i:0#.f|membership|" & 'E-mail';
DisplayName: DisplayName: Office365Users.UserProfileV2('E-mail').displayName;
Email: 'E-mail';
JobTitle: "";
Picture: ""
})

 

Can anyone help me out with this?

 

1 ACCEPTED SOLUTION

Accepted Solutions
Anonymous
Not applicable

@LennartWalldén 

Is there a reason why you cannot use a ComboBox with the Items property set to ... ?

Choices([yourListName].yourPersonColumnName)

Then the UpdateIf would just need

...{ ComboBox1.Selected } ...

ie no need for all this code.

 

If not, then 2 possible issues I can see with your code are:

1. 'Email' in the Claims part should be in Lower case, eg

... 
Claims: "i:0#.f|membership|" & lower('E-mail');
...

2. The DisplayName is probably better accessed via a variable, eg

Set(vDisplayName, Office365Users.UserProfileV2('E-mail').displayName);

UpdateIf(...
...
DisplayName: vDisplayName;
...
)

 

This Shane Young video may also help.

 

 

 

 

View solution in original post

5 REPLIES 5
LennartWalldén
Advocate II
Advocate II

Sorry I made a mistake when copying the code to the post: It looks like this

 

UpdateIf(Projektlista; Projektfas.Value="05 Driva";
{
Projektledare: {
'@odata.type': "#Microsoft.Azure.Connectors.SharePoint.SPListExpandedUser";
Department: "";
Claims: "i:0#.f|membership|" & 'E-mail';
DisplayName: Office365Users.UserProfileV2('E-mail').displayName;
Email: 'E-mail';
JobTitle: "";
Picture: ""
})

Anonymous
Not applicable

@LennartWalldén 

Is there a reason why you cannot use a ComboBox with the Items property set to ... ?

Choices([yourListName].yourPersonColumnName)

Then the UpdateIf would just need

...{ ComboBox1.Selected } ...

ie no need for all this code.

 

If not, then 2 possible issues I can see with your code are:

1. 'Email' in the Claims part should be in Lower case, eg

... 
Claims: "i:0#.f|membership|" & lower('E-mail');
...

2. The DisplayName is probably better accessed via a variable, eg

Set(vDisplayName, Office365Users.UserProfileV2('E-mail').displayName);

UpdateIf(...
...
DisplayName: vDisplayName;
...
)

 

This Shane Young video may also help.

 

 

 

 

Hi @Anonymous,

 

Thanks a lot for putting me on the right track, I just left the Displayname blank, and used lower on the E-mail address, and that did it!

Your suggestions and the Shane Young video did really give me insight.

 

I have been struggling with this for a while, so I am very glad that I finally could solve it. We have created a new SP list for our projects, where we will have more data stored thanks to PowerApps, and this update is a part of the conversion from the old SP list.

Again, thank you very much!

Best
Lennart

Anonymous
Not applicable

@LennartWalldén 

No worries mate, happy to have put you on the right path to a solution 🙂 

Thanks @LennartWalldén for great solution!

Helpful resources

Announcements
Microsoft 365 Conference – December 6-8, 2022

Microsoft 365 Conference – December 6-8, 2022

Join us in Las Vegas to experience community, incredible learning opportunities, and connections that will help grow skills, know-how, and more.

Difinity Conference 2022

Difinity Conference 2022

Register today for two amazing days of learning, featuring intensive learning sessions across multiple tracks, led by engaging and dynamic experts.

European SharePoint Conference

European SharePoint Conference

The European SharePoint Conference returns live and in-person November 28-December 1 with 4 Microsoft Keynotes, 9 Tutorials, and 120 Sessions.

Power Apps Ideas

Changes to Ideas Coming

We are excited to announce a new way to share your ideas for Power Apps!

Top Solution Authors
Top Kudoed Authors
Users online (3,046)