IM sure this is unsupported but...
- Find the ID of your survey.
- Make sure no profile has a length of over 8000 If so you would need to write code to do this....
- Backup your dontnetnuke database
- Backup your dotnetnuke database
- Backup your backup
IN this case my survey is 460
Find the key in Profile that looks like ' tem key="460:Voted" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"><boolean>true</boolean></item>'
*****************then adjust the following queries ****************************
update Profile
set ProfileData = replace(convert(varchar(8000),ProfileData),'<item key="460:Voted" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"><boolean>true</boolean></item>','')
where PortalId=1 and UserID = 131 and ProfileData like '%460:Voted%true%'
go
select * from SurveyOptions
update SurveyOptions
set Votes = (select count(*) from SurveyResults where SurveyOptions.SurveyOptionID = SurveyResults.SurveyOptionID)
Test again and again.
Mike