none
Survey - Show Incomplete Results

    Question

  • Hi All,

     

    In MOSS 2007, when I go to "Show All Responses" for a survey that I created, I can only see user's responses that are completed (those that have clicked Finish).

     

    I cannot see results for those users who clicked Save, or whose results were interupped by the power outage we had.

     

    If a user knows that they have not completed the survey, they can go to "Show All Responses" and see their response (where "Completed" says "No") and thus edit it. This is fine if the user knows, but if they do not know, I want to be able to see that their result is incomplete and notify them, but the problem is that if I am signed in as myself the survey owner with full control, I am unable to view user's incomplete responses.

     

    I want to see all responses, whether complete or incomplete, so that if there are any incomplete responses, I can ask the user to complete it.

     

    I have full control of the survey, so my permissions is not an issue.

     

    Is there any way that I can view users partial / incomplete results, or a way that I can create a view which includes a field to display results where "Completed" is "No".

     

    Please assist.

    Thanks,

     

    Claudz

    dimanche 16 décembre 2007 22:23

Toutes les réponses

  •  We are experiencing the exact same issue - and are unable to find out a way to view what users have not completed the survey. Has anyone figured out how to access this information from the survey?

     

    Thanks!

     

    -----

    Here is an update:

     

    Still have been able to find no way from the SharePoint default out of the box interface to view users who have started to respond to a survey but have yet to complete the survey. This issue seems to only be when the survey has multiple-pages and the "save" feature is auto enabled. This allows a user to come back at a later time and complete the survey they started.

     

    The issue is the interface is not clear to the end user, and we had many users click "Save" thinking they completed the survey. So we needed to obtain a list of these users to notify them.

     

    The only way we figured out how to do this was a query directly to the SharePoint content database. Here is the article which gave us the insight to construct the query:

     

    http://cregan.wordpress.com/2006/07/28/sharepoint-surveys-finding-the-results-in-the-database/

     

    Here is the query we wrote, you will need to modify with your specific content database name, and GUI for the survey:

     

    Code Block

    select a2.nvarchar3, a2.nvarchar1, a2.nvarchar2, a2.nvarchar10, a2.nvarchar14, a1.tp_CheckoutUserId

    from AllUserData a1 

    inner join AllUserData a2

    on a1.tp_CheckoutUserId = a2.tp_ID 

    where a1.tp_ListId = '23B69BFC-1054-4A2E-94BE-FBA3E8CE9C90' and a1.tp_CheckoutUserId is not null and a2.tp_ContentType = 'Person' order by a2.nvarchar1

     

     

    mercredi 16 janvier 2008 17:52
  • Hi

    Based on this, I wrote a query to update the database to mark the responses as complete.  Naturally, this comes with health warnings about updating the database directly and it may not apply in your scenario.  However, in our case it was important that we were able to retrieve whatever a user had submitted, even if it wasn't complete.  Thought this might be useful to someone!

    /* Update AllUserData to show that the response is complete */

    /* NOTE: Replace ListId and tp_ListId with the Id for your survey from AllLists! */

    update

     

    AllUserData

    set

     

    tp_CheckoutUserId

    =NULL,

    tp_Level

    =1

    where

     

    tp_ListId

    ='ed8c6937-9410-4e57-8b79-f2257317b5cd' and

    tp_Level

    =255 and

    tp_DeleteTransactionId

    = 0

    go

    /* Update AllDocs to checkin the response */

    update

     

    AllDocs

    set

     

    CheckoutUserId

    =NULL,

    CheckoutDate

    =NULL,

     

    Level=1

    where

     

    ListId

    ='ed8c6937-9410-4e57-8b79-f2257317b5cd' and

     

    Level=255 and

    CheckoutDate

    IS NOT NULL and

    DeleteTransactionId

    = 0

    go

    • Proposé comme réponse dbiz lundi 26 mars 2012 14:43
    mardi 9 juin 2009 10:41
  • Hi

    Based on this, I wrote a query to update the database to mark the responses as complete.  Naturally, this comes with health warnings about updating the database directly and it may not apply in your scenario.  However, in our case it was important that we were able to retrieve whatever a user had submitted, even if it wasn't complete.  Thought this might be useful to someone!

    /* Update AllUserData to show that the response is complete */

    /* NOTE: Replace ListId and tp_ListId with the Id for your survey from AllLists! */

    update

    AllUserData

    set

    tp_CheckoutUserId

    =NULL,

    tp_Level

    =1

    where

    tp_ListId

    ='ed8c6937-9410-4e57-8b79-f2257317b5cd' and

    tp_Level

    =255 and

    tp_DeleteTransactionId

    = 0

    go

    /* Update AllDocs to checkin the response */

    update

    AllDocs

    set

    CheckoutUserId

    =NULL,

    CheckoutDate

    =NULL,

    Level=1

    where

    ListId

    ='ed8c6937-9410-4e57-8b79-f2257317b5cd' and

    Level=255 and

    CheckoutDate

    IS NOT NULL and

    DeleteTransactionId

    = 0

    go


    Thanks aking99!
    • Proposé comme réponse piesitos mercredi 25 avril 2012 14:21
    • Non proposé comme réponse piesitos mercredi 25 avril 2012 14:21
    lundi 26 mars 2012 14:44
  • Have you ever found a solution for this (something more user-friendly that querying the database directly)?

    FYI, I have removed the 'Save and Close' button by adding the following JavaScript to NewForm.aspx and EditForm.aspx for the survey:

    Here is the code for copy & paste:

    <script type="text/javascript" id="removeSaveButtonScript" >
    	var x=document.getElementsByTagName("input");
    	for (var i=0;i<x.length;i++)
    	{
    		if (x.item(i).type=="button" && x.item(i).value=="Save and Close")
    			{x.item(i).style.display = "none"};
    	}
    </script>

    jeudi 3 octobre 2013 11:58