%
check_security(1)
%>
<%
user_id = session("user_id")
if user_id = "" then response.redirect "login.asp"
%>
<%
dim survey_id
dim question_type
dim answer
dim answer_id
dim answer_type
dim default_answer
dim question_id
dim question
dim surveyquestions_gridform_sql
sub request_surveyquestions_gridform
''' request form inputs from this form
question_type = request("question_type")
answer = request("answer")
answer_id = request("answer_id")
answer_type = request("answer_type")
default_answer = request("default_answer")
question_id = request("question_id")
survey_id = request("survey_id")
question = request("question")
end sub
sub validate_surveyquestions_gridform
''' request and validate data entered from this form
question_type = trim(request("question_type"))
answer = trim(request("answer"))
answer_id = trim(request("answer_id"))
answer_type = trim(request("answer_type"))
default_answer = trim(request("default_answer"))
question_id = trim(request("question_id"))
survey_id = trim(request("survey_id"))
question = trim(request("question"))
end sub
sub db_select_surveyquestions_gridform
surveyquestions_gridform_sql = "SELECT SurveyAnswers.answer_id, SurveyAnswers.question_id, SurveyAnswers.answer, SurveyAnswers.answer_type, SurveyAnswers.order_in_question, surveyquestions.survey_id, surveyquestions.question, surveyquestions.question_type, surveyquestions.default_answer, surveyquestions.order_in_survey FROM SurveyAnswers, surveyquestions " & _
"WHERE surveyquestions.question_id=SurveyAnswers.question_id AND surveyquestions.survey_id = " & survey_id & " " & _
"ORDER BY order_in_survey, order_in_question"
if request("sortby") <> "" AND inStr(lcase(surveyquestions_gridform_sql),"order by") = 0 then surveyquestions_gridform_sql = surveyquestions_gridform_sql + " ORDER BY " & request("sortby")
end sub
sub db_update_surveyquestions_gridform
sql = "INSERT INTO SurveyResults (user_id,question_id,answer_id,answer_value,dt_inserted) VALUES " & _
"(" & to_sql(user_id,"number") & "," & to_sql(question_id,"number") & "," & to_sql(answer_id,"number") & "," & to_sql(answer_value,"text") & ",'" & now & "')" & _
""
'response.write sql
on error resume next
cn.execute(sql)
if err.number <> 0 then
b_error = true
end if
on error goto 0
end sub
sub db_delete_surveyquestions_gridform
sql = "DELETE FROM surveyquestions" & _
" WHERE " & _
"survey_id = " & to_sql(survey_id,"number") & ""
'response.write sql
on error resume next
cn.Execute(sql)
if err.number <> 0 then
b_error = true
end if
on error goto 0
end sub
do_search = request("do_search")
''' request form keys and inputs
survey_id = request("survey_id")
''' request action
action = lcase(request("action"))
''' action case handler
select case action
case "update_surveyquestions_gridform"' request form data from edit grid to update existing database records
' this case is only created when a grid form's 'update' property is enabled
for i = 1 to request("question_id").Count
survey_id = request("survey_id")(i)
question_id = request("question_id")(i)
if question_id <> "" then
for j = 1 to request(question_id & "_id").Count
answer_value = NULL
answer_id = request(question_id & "_id")(j)
'' request value
response.write isEmpty(request(question_id & "_value" & j))
if isEmpty(request(question_id & "_value" & j)) then
'' request radio (single)
answer_id = request(question_id & "_value")
db_update_surveyquestions_gridform
exit for
else
'' request text value
answer_value = request(question_id & "_value" & j)
if len(answer_value) > 0 then db_update_surveyquestions_gridform
end if
next
end if
next
if not b_error then response.redirect "list_surveyresults.asp?survey_id=" & survey_id
case "delete_surveyquestions_gridform"' request form data from edit grid to delete existing database records
' this case is only created when a grid form's 'update' property is enabled
if survey_id <> "" then
db_delete_surveyquestions_gridform
response.redirect request.servervariables("script_name") & "?msg=The+record+was+deleted."
else
b_error = true
error_list.add "delete_surveyquestions_gridform", "Specify record to delete."
end if
end select
':: handle the default case(s) for each form (separate from action= parameter)
if survey_id <> "" then
''' make sure the survey hasn't been taken
set rs = cn.Execute("SELECT dt_inserted FROM SurveyQuestions,SurveyResults WHERE SurveyResults.question_id = SurveyQuestions.question_id AND user_id = " & user_id & " AND survey_id = " & survey_id)
if not rs.EOF then
msg_list.add "completed","Thanks. You have completed the survey"
survey_id = ""
else
db_select_surveyquestions_gridform
end if
rs.Close
else
'get_defaults_surveyquestions_gridform
end if
%>
<%
display_errs
display_msg
%>
<% if survey_id <> "" then %>
<%
page_no = request("page_no")
if page_no = "" then page_no = 1
if surveyquestions_gridform_sql <> "" then
cmd.CommandText = surveyquestions_gridform_sql
rs.Filter = ""
rs.CursorLocation = 3
rs.CacheSize = 5
rs.Open cmd
if not rs.EOF then
rs.MoveFirst
rs.PageSize = 50
max_count = cInt(rs.PageCount)
num_recs = rs.RecordCount
rs.AbsolutePage = page_no
results = true
else
results = false
rs.Close
end if
else
results = false
end if
rec_count = 0
%>
<%
if results = true then
%>
<%
else
%>
<%
end if
%>
<%
if max_count > 1 then
%>
<% end if %>
<% end if %>
<%
':: assure that any db resources are freed
on error resume next
rs.Close
set rs = NOTHING
cn.Close
set cn = NOTHING
user_cn.Close
set user_cn = NOTHING
on error goto 0
%>