Can I copy a user from one column to another? Not the separated value, but the actual user. Right now, I can't copy USERs, only their strings.
I've built a conditional flow that currently copies the USER:EMAIL from either Column A (USER) or Column B (USER) to Column C (TEXT). But instead of just the EMAIL value, I want to copy the user, whole. That would allow me to AUTOMATE from the SP LIST instead of using Flow.
Found it. Must use the USER:EMAIL in the USER CLAIMS field in the Update Item section. Don't really understand why, other than the lookup is achieved via the email. Wish this were more obvious.
Related
I have a SharePoint list that contains a choice column with the 'multiple selection' option turned on. Each item in this list contains data related to preferences for a given user, and the choice column will store the IDs for each of the user's 'favorited' reports.
I would like to write a Patch formula in Power Apps that writes a new value to this column, but retains the existing values. Here is an extract from my current formula, triggered when a user selects the 'Add To Favorites' button, where 'Favorites' is the choice column that already contains values:
Patch(
'Platform User Preferences',
LookUp(
'Platform User Preferences',
UserEmail = User().Email
),
{Favorites: [ThisItem.ID]}
)
Current state, this formula overwrites the existing values in the choice column with the new single value, instead of adding it alongside the existing values.
One approach I have attempted (based on reading similar use cases online) is to create a collection from the Favorites column, add the new value to that collection, then patch the entire collection back to SP. However, I have had similar problems doing this as I do not fully understand the model of a collection that is based on a multi-value choice column. For example, the following also appears to completely wipe the data in the collection, rather than add to it:
ClearCollect(favslist,Filter('Platform User Preferences',UserEmail = User().Email).Favorites);
Collect(favslist, {Value: ThisItem.ID});
Any help with solving this problem would be most appreciated!
You'll need to create another collection that contains each selection of the existing favorites. Right now your 'favlist' collection contains one item that contains all the existing favorite selections, then youre adding you new item. This isn't formatted correctly this way.
Try updating your existing code before you patch, by using a ForAll and collect the existing items:
ClearCollect(existingfavslist,Filter('Platform User Preferences',UserEmail = User().Email).Favorites);
ForAll(existingfavlist, Collect(favslist, ThisRecord.Value));
Collect(favslist, {Value: ThisItem.ID});
Then just patch your collection 'favslist' to the list
So I have an excel sheet, and need to clean up the users within our database...I don't like using Excel, and was curios if there is anyway I can print a False or True column to see if an entry within a specific cell matches the other two columns plus a convention. The caveat is that all of the Username Logins need to match firstname.lastname, but not all of our users have that within the list of elements. As a result, I need to filter out the ones that do have it so I can see all of the users that do not have it.
As you can see there may be users within the User Name column that may not match the convention as a result I would like to have it print FALSE in Column I. This would allow me to have a filter and see all of the users that are misaligned within the database.
By the way I am forbidden to use any programmatic way or SQL update command on the database, so please limit suggestions on how to accomplish this in Excel.
Many Thanks to #Naresh Bhople
His formula
=A2=E2&"."&D2
Worked, then I just dragged and copied it all the way down to what I needed.
It helped me clean up our Active Directory to get all of the systems working with AD Authentication and Kerberos Auth.
In my data set, I have a column with a large number of email addresses, some repeating, some not.
I have inserted a new column to the right where I've copied the same list and removed duplicates.
I want to be able to use the list of removed duplicates to loop through the full column of emails and grab the data in the rows for each repetition of that email and paste that data into an email body send the email to that contact. Then, when there are no more repetitions of the first email in the list, it moves on to the next email in the list and does the same for each until it's gone through the complete list.
Is this something that's possible? My VBA experience is limited, so any help would be greatly appreciated.
Thank you in advance!
This is very doable in VBA. The best bet would be to either create an Access Database with a table that documents every time you send an e-mail to a certain e-mail address. That way you can check that list before generating another e-mail. It would work like this-> 1. Check to see if the e-mail is in the table. 2. If it is, then go to the next e-mail. 3. If it isn't insert the email into your table and send an e-mail. You could do this with a spreadsheet too, but I would prefer to use a table for this kind of thing. This table could be expanded upon to make a log as to when and what you sent to each user.
I have defined a couple of lists for capturing registration details of the user. There is a list for holding personal details of the user and there is another list which holds professional details of the user.
The two lists are used over two different pages in which name and ID both are required.
How do I get the name and ID populated automatically into the professional list from personal list so as the user doesn't have to fill the similar information twice?
Is it possible without doing any coding stuff?
This little control may help you
http://cascddlistwithfilter.codeplex.com/
Basically you would link the first Cascading drop down control to your user details list and the field name. The second drop down would then filter the users ID so the user can select that.
I have used this before and it can be a pain in the backside to configure but when it's there it is so very powerful and useful.
It's not fully automated but i'm unsure how you would get any closer with a bespoke event receiver.
Create the custom form there, you have keep some text box with the refresh button, so when ever you fill the user id and press the refresh button. You need to right small logic to bring the user from the the source list.
Or you can use the personal details id as look up column in the prop list so you will get the id and select the id and do refresh. Anyway you have right the logic in your custom form code.
I am creating an XLS worksheet that would be used to collect data from the users. I have restricted the user input using validations. In order to easily be able to print the worksheet i have set the lenghts of the columns. Have made the relevant columns wrap.
However i would like to protect the worksheet such that
User is not allowed to
1. Change the format
2. Change the Validations
3. Change the column size
User should be allowed to
1. Enter input values
2. Select the value (from drop down whereever applicable)
The protect sheet always restricts user inputs.
The key is after you protect the sheet to use the interface exposed in "Allow Users To Edit Ranges". I'm going to assume you are using Office 2003 since you didn't specify, so you find it in Tools -> Protection -> Allow Users to Edit Ranges.From there it should be pretty obvious - you create named ranges and give edit access to users based on that.On the second issue of having users pick values from combo-boxes, you control that through Data -> Validation then create a Custom list.
Normally when you protect a sheet you get a dialog box which allows you to select what users can and can't do. If you select the right options you will be able to do what you want.
Have a look at this blog post for more details.