1

I am not sure if you consider SharePoint "programming" but I am very new to it. I would like to create a list with calculated values but still provide the user the ability to edit the values. For example, take the following list of a group of people who have first names, last names, and nick names.

 First Name | Last Name | E-mail
 John         Smith       j.smith@domain.com
 Bob          Adams       b.adams@domain.com

For a good lot of the people their e-mail is FIRST_INITIAL.LAST_NAME@domain.com, so I would like to fill this in by default. To do this I used a calculated value column to extract the first initial and concat it with a "." as well as the last name and finally "@domain.com".

The problem is there are a few one off cases where I would like the user to have the ability to correct their email. Bill Douglass may want to use his personal email such as "bill.douglass@hotmail.com" and this would obviously break the formula.

So my question is simply how can I have a calculated value list but still allow people to override the value.

4

The easiest solution is to add a fourth column 'Nonstandard E-mail' in which people can enter an e-mail to be used in stead of the calculated. In your formula you have to check if that's empty and if not then use that value otherwise calculate like before:

 First Name | Last Name | Nonstandard E-mail        | E-mail
 John         Smith                                   j.smith@domain.com
 Bob          Adams                                   b.adams@domain.com
 Bill         Douglass    bill.douglass@hotmail.com   bill.douglass@hotmail.com
1

The answer is also simple.. you cannot :-) you need to put some javascript into business..

See this blog for inspiration.. http://1001sp.blogspot.dk/2014/02/fun-with-sharepoint-lists-and-forms.html

I use jquery to hook onto a leave event, and then fill the next field with the information. I don't know if you are using SP2010 or 2013 but I'll soon publish the 2010 version on codeplex.

1

You can put a formula in the default value for a column. Don't set the field to be a calculated value.

For example. I have a date on a Change Request form for the next CCB meeting date. It is always on a Monday. The field is a Date type, and I select the Default Value radio button and put in the following formula:

=Today+(7-WEEKDAY(Today,2)+1)

That defaults it to the next Monday from now, but still allows the user to change it, which is the type of behavior I think you are looking for.

EDIT: I just tried to test it with your situation, and I think you can't reference field names from the same list in the calculated default value for the email field. You certainly can do it with javascript as mentioned by others, or by using an Event Receiver on that list.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.