<%
?Входной параметр QuestionCode — код вопроса
?Результат — строка, содержащая текст HTML организации опроса
function PollQuestion(QuestionCode)
dim conn,rs,Total,s
set Conn=Server.CreateObject(«ADODB.Connection»)
call Conn.Open(«FileDSN=WWW»)
set rs=Conn.Execute(«select * from wwPollQuestions where Code=» & QuestionCode)
Cookie=rs(«Cookie»).Value
StopDate=rs(«StopDate»).Value
rs.Close
? Изменение счетчиков
if Request.Form(«ANSWER»)=»Проголосовать» then ? изменение счетчиков ответов
 for i=1 to Request.Form(«ANSWERCODE»).Count
 Conn.Execute(«update wwPollAnswers set Counter=Counter+1 where QuestionCode=» & _
 Request.Form(«QUESTIONCODE») & « and AnswerCode=» & Request.Form(«ANSWERCODE»)(i))
 next
 Response.Cookies(Cookie)=»True» ? через Cookie запрещается повторное участие
 Response.Cookies(Cookie).Expires=Date+100 ? через 100 дней можно снова голосовать
end if
? Просмотр результатов
if (Request.Form(«ANSWER»)=»Проголосовать») or _
 (Request.Cookies(Cookie)=»True») or (StopDate <> «») then
 set rs=Conn.Execute(«select sum(Counter) from wwPollAnswers where QuestionCode=» & QuestionCode)
 Total=rs(0).Value
 rs.Close
 set rs=Conn.Execute(«select * from wwPollQuestions,wwPollAnswers where Code=» &_
  QuestionCode & « and Code=QuestionCode order by AnswerCode»)
 PollQuestion=»»
 if not rs.BOF then
 s=»»
 s=s & «»
 s=s & «»
 do while not rs.EOF
 p=0
 if Total <> 0 then
 p=FormatNumber(rs(«Counter»).Value / Total * 100,1)
 end if
 s=s & «»
 s=s & «»
 rs.MoveNext
 loop
 s=s & «
» &_ rs(«Question»).Value & «
(результаты голосования)

» &_ rs(«Answer»).Value & «(кол-во: « & rs(«Counter»).Value & «/проценты: « &_ p & «%)
» p=0 if Total <> 0 then p=FormatNumber(rs(«Counter»).Value / Total * 100,0) end if if p=0 then s=s & «
» else s=s & «
» end if s=s & «
» PollQuestion=s end if rs.Close else ? Участие в голосовании set rs=Conn.Execute(«select * from wwPollQuestions,wwPollAnswers where Code=» &_ QuestionCode & « and Code=QuestionCode order by AnswerCode») PollQuestion=»» if not rs.BOF then s=»» s=s & «» s=s & «» do while not rs.EOF Checked=»» if rs(«Checked»).Value then Checked=»CHECKED» end if if not rs(«MultiAnswer»).Value then s=s & «» else s=s & «» end if rs.MoveNext loop s=s & «» s=s & «» s=s & «
» & rs(«Question»). Value & «

» & rs(«Answer»).Value & «
» & rs(«Answer»).Value & «

» s=s & «
» PollQuestion=s end if rs.Close end if Conn.Close end function %>