USEFUL SITES :
Write for Us
Listing 1 - ASP Calling COM FunctionDim objBusEval, arrSurveyset objBusEval = server.CreateObject("SurveyXML.savesurvey")if objBusEval.SurveyToXML((arrsurvey)) then …else … end ifThe following function is called by the ASP page (see Listing 1):
Listing 2 - VB COM Function Public Function SurveyToXML( ByVal arrSurvey As Variant) As BooleanDim objXMLdoc As MSXML.DOMDocumentDim objXMLRootElem As MSXML.IXMLDOMElementDim objXMLAnswers As MSXML.IXMLDOMElementDim objXMLAttribEvalID As IXMLDOMAttributeDim objXMLAttribQnum As IXMLDOMAttributeDim objXMLAttribAnswer As IXMLDOMAttributeDim x As IntegerDim y As IntegerDim EvalID As IntegerDim objDBSurvey As dbSurvey.dbSaveSurveyOn Error GoTo ErrHandlerSet objDBSurvey = New dbSurvey.dbSaveSurveyEvalID = objDBSurvey.GetEvalID("Alex", "Rodriguez", "arod@texasrangers.com", 1, vbNullString)Set objXMLdoc = New MSXML.DOMDocumentWith objXMLdocSet objXMLRootElem = .createElement("insert").appendChild objXMLRootElemFor y = LBound(arrSurvey, 2) To UBound(arrSurvey, 2)Set objXMLAnswers = .createElement("Answers").documentElement.appendChild objXMLAnswersSet objXMLAttribEvalID = .createAttribute("EvalID")objXMLAttribEvalID.nodeValue = EvalIDobjXMLAnswers.setAttributeNode objXMLAttribEvalIDSet objXMLAttribQnum = .createAttribute("QNum")objXMLAttribQnum.nodeValue = arrSurvey(0, y)objXMLAnswers.setAttributeNode objXMLAttribQnumSet objXMLAttribAnswer = .createAttribute("Answer")objXMLAttribAnswer.nodeValue = arrSurvey(1, y)objXMLAnswers.setAttributeNode objXMLAttribAnswerNext yIf objDBSurvey.SaveXMLResponse(.xml) ThenSurveyToXML = TrueElseSurveyToXML = FalseEnd IfEnd WithSurveyToXML = TrueCleanup:Set objDBSurvey = NothingSet objXMLdoc = NothingExit FunctionErrHandler:SurveyToXML = FalseGoTo CleanupEnd Function The client passes in a two-dimensional variant array with the first dimension index 0 as the Question Number (Qnum) and first dimension index 1 as the Answer. The second dimension of the array represents the ordinal number of questions answered. The EvalID, which connects the answers to a specific evaluation or survey, is created and returned from the database. The three values required to insert an answer to a specific survey question are the EvalID, the Qnum, and the Answer.