Archive

Archive for October, 2010

Problems with SharePoint 2007 Surveys

October 27, 2010 Leave a comment

SharePoint 2007 has some peculiar survey behavior that survey owners should be aware of. Surveys can be one page (if there is no branching applied), or multiple pages (one extra page for each branch).

If there is branching, SharePoint gives the user the ability to save the results (up to that branch) by putting a Save button on the page.
survey1

If the user Saves the survey, they do not show up in the results – and it does not matter who you are logged in as. This can cause problems if you are using the survey to gather information from users.
In our case we sent the “Respond to this survey” URL to a defined set of users in an email –
http://portal/adpsurvey/Lists/ADP%20Survey%201/NewForm.aspx?Source=http%3A%2F%2Fartie%2Fadpsurvey%2FLists%2FADP%2520Survey%25201%2FAllItems%2Easpx 

The users would click on this link, and answer the survey questions. However, some users clicked Save instead of Next because they thought that they needed to save the results up to that point. When they tried to get back in by clicking on the link in the email they would get the following error –

survey2

The users who have saved can continue with the survey if they go to the survey list itself –
http://portal/adpsurvey/Lists/ADP%20Survey%201/AllItems.aspx
They will then see their survey response –
image

Clicking on the response continues the survey.

Finding Partial Responses

Our problem was that we needed a response from each user. When a user has saved a response, their partial response is not shown in any display. We needed to get a list of users with partial responses.
Microsoft makes the partial response only visible to the author by “checking out” the list. Unfortunately, you cannot use the ManageCheckedFiles.aspx page to manage checked out files (as you can on a document library).
To find the users who have partial responses, we needed to query the content database.

Caveat – making changes in a SharePoint content database is not supported by Microsoft. Therefore, make sure no commits are (accidentally) performed!
  • Log in to the server that houses the SharePoint database.
  • Open the SQL Server Management Studio
  • Expand Databases, select the enclosing content database
  • Expand Views
  • Right mouse on Lists, select Open View

image

  • Find the title of the survey

image

  • Copy the tp_ID – replace with the value in the following SQL Query (select the New Query button)
SELECT info.tp_Login AS LanID 
FROM UserData ASdata 
INNERJOIN UserInfo AS info 
ONdata.tp_CheckoutUserId = info.tp_ID 
WHERE (data.tp_ListId = ' ') AND (NOT (data.tp_CheckoutUserId ISNULL))

image

Categories: SharePoint 2007