SharePoint 2007 web part page. When Adding a web part, the page stops working and returns an error:
Cannot complete this action.
Please try again.
Troubleshoot issues with Windows SharePoint Services.
So very helpful and descriptive, right?
What is the cause of this error? The short answer is that the page is trying to access something that doesn’t exist, or thinks does not exist.
Here is the long answer, complete with scenario and resolution:
We have a power user who does things with SharePoint lists that amaze me. I’ve learned a lot from him, including some things I intend to present at SharePoint Saturday Austin, if my speaker submission is accepted.
So naturally, he’s going to find some screwy errors. This was one of them.
Using the trick I described in my article, Error: The website declined to show this webpage HTTP 403, I went to the web part maintainance page and closed the offending web part. Voila, the user can get to the web part page again.
But, no, that wasn’t enough for this web part. If you try to edit the page, the page still throws the error, Cannot Complete This Action. So the web part has to be deleted.
Ok, so we’re no longer getting the error, but the user needs the web part on the page, so we try adding it again. Same problem. Delete and regroup.
The web part is a simple list web part for a list on the site. The list has a lot of fancy calculated columns, so the first thing I tried was making the default view for the list very, very simple, just the item Title, then adding the web part to see if it was something in the default view. No go.
So there was something in the list that was causing the web part to blow up the web part page. The next step is to isolate the list and carve off pieces until I identified the offending component. Since the list was in production and contained production data, I couldn’t mess around with the original list, so I created a template from the list, including the data. (Settings >> List Settings >> Permissions and Management >> Save list as template >> provide a file name, template name and description and tick the Include Content check box.)
When creating a new list based on the template, however, there was an error message: “The formula refers to a column that does not exist”. The list was created, but one of the columns wasn’t there: “Project Name”. Project name was a simple text field, used as part of a calculated column.
Interestingly, “Project Name” was actually a the Title column, renamed.
Adding the web part for the newly created copy list caused no error at all, even after renaming the Title column to “Project Name”.
Best guess is that the difference between the internal name and the column name on the original list was causing a problem.
The resolution for the end-user was to delete the original list, and use the new copy (since it had the data and it actually worked). But in re-creating the web parts on the web part page, he encountered another error that firmly established my conclusion (at least as far as I am concerned).
Remember the error when the copy of the list was created? “The formula refers to a column that does not exist”. When working with the web part page, the user got the original error again: “Cannot complete this action”. When he deleted the list, the a filter web part still referred to the original list, which had been deleted. The web part was looking for a list that didn’t exist anymore, and gave the same error as a web part that was looking to find data in a column that SharePoint believed didn’t exist (at the least was looking for it under the wrong name).
Hence the conclusion: the web part was trying to access a resource that didn’t exist or was using an incorrect reference to a resource that does exist.
Hope this helps you in resolving your issue!
Credit to Mike and Taylor for their work in helping to unravel the source of the issue.