VBcoders Guest



Don't have an account yet? Register
 


Forgot Password?



Convert ADO Rs into an HTML

by Steven E. Farkas (1 Submission)
Category: Active Server Pages
Compatability: ASP (Active Server Pages)
Difficulty: Unknown Difficulty
Originally Published: Tue 13th February 2001
Date Added: Mon 8th February 2021
Rating: (1 Votes)

Convert ADO Rs into an HTML

Rate Convert ADO Rs into an HTML



    strHtmlElemName, _
      strSelectedItem, _
        anHtmlEvent, _
          strJavaScript) 'As String
' Function RsToHtmlCombo(oRs As ADODB.Recordset, _
'    strHtmlElemName As String, _
'      Optional strSelectedItem As String = "", _
'        Optional anHtmlEvent As HtmlEvents, _
'          Optional strJavaScript As String = "") As String
'Public Enum HtmlEvents
'  OnClick = 1
'  OnChange = 2
'End Enum

On Error Resume Next 'GoTo ErrHandler
'Input: oRs is a recordset with either one field
'         or two fields.  The first field is the
'         value arguement for <OPTION VALUE=
'         When there is a second field, the
'         second field is what is displayed by HTML
Dim sHTML 'As String
Dim sOpt 'As String
Dim oFDdis 'As ADODB.Field
Dim oFDval 'As ADODB.Field
Dim bMoreThanOne 'As Boolean
Dim bSelectedStr 'As Boolean
Const SelBegin = "<SELECT name=theName>"
Const SelOpt = "<OPTION VALUE=theValue>DisplayThis</OPTION>"
Const SelOptFirst = "<OPTION VALUE=initial></OPTION>"
Const selEnd = "</SELECT>"
'-------------------------------------------------
  sHTML = SelBegin & vbCrLf & SelOptFirst
  'With oRs
    Set oFDval = oRs.Fields(0)
    bMoreThanOne = oRs.Fields.Count > 1
    bSelectedStr = Len(Trim(strSelectedItem)) > 0
    If bSelectedStr Then sHTML = SelBegin & vbCrLf
    If bMoreThanOne Then
      Set oFDdis = oRs.Fields(1)
      Do Until oRs.EOF
        sOpt = Replace(SelOpt, "theValue", Chr(34) & oFDval.Value & Chr(34))
        sOpt = Replace(sOpt, "DisplayThis", oFDdis.Value)
        If bSelectedStr Then 'GoSub MarkAsSelected
                'If UCase(sOpt) Like "*" & Trim(strSelectedItem) & ">*" Or sOpt Like "*" & Trim(strSelectedItem) & ">*" Then
                If InStr(UCase(oFDval.Value), UCase(Trim(strSelectedItem))) > 0 Or InStr(oFDval.Value, Trim(strSelectedItem)) > 0 Then
                        'assumes that strSelectedItem is unique and is
                        'not a substring of any other HTML OPTION
                        'sOpt = Replace(UCase(sOpt), "OPTION VALUE", "OPTION SELECTED VALUE")
                        sOpt = Replace(sOpt, "OPTION VALUE", "OPTION SELECTED VALUE")
                End If
        End If
        sHTML = sHTML & sOpt
        oRs.MoveNext
      Loop
    Else
      Do Until oRs.EOF
        sOpt = Replace(SelOpt, "theValue", Chr(34) & oFDval.Value & Chr(34))
        sOpt = Replace(sOpt, "DisplayThis", oFDval.Value)
        If bSelectedStr Then 'GoSub MarkAsSelected
                'If UCase(sOpt) Like "*" & Trim(strSelectedItem) & ">*" Or sOpt Like "*" & Trim(strSelectedItem) & ">*" Then
                If InStr(UCase(oFDval.Value) & ">", UCase(Trim(strSelectedItem)) & ">") > 0 Or InStr(oFDval.Value & ">", Trim(strSelectedItem) & ">") > 0 Then
                        'assumes that strSelectedItem is unique and is
                        'not a substring of any other HTML OPTION
                        'sOpt = Replace(UCase(sOpt), "OPTION VALUE", "OPTION SELECTED VALUE")
                        sOpt = Replace(sOpt, "OPTION VALUE", "OPTION SELECTED VALUE")
                End If
        End If
        sHTML = sHTML & vbCrLf & sOpt & vbCrLf
        oRs.MoveNext
      Loop
    End If
  'End With

  If Len(Trim(strJavaScript)) > 0 Then
  'assumes that strJavaScript comes as a legitimate
  'javascript function, e.g., "MyFunc(MyArgs);"
    Select Case anHtmlEvent
      Case 1 ' onClick
        sHTML = Replace(sHTML, "<SELECT ", "<SELECT onClick=" & Chr(34) & strJavaScript & Chr(34) & Space(1))
      Case 2 ' onChange
        sHTML = Replace(sHTML, "<SELECT ", "<SELECT onChange=" & Chr(34) & strJavaScript & Chr(34) & Space(1))
    End Select
  End If

  If Len(Trim(strHtmlElemName)) > 0 Then
    sHTML = Replace(sHTML, "theName", strHtmlElemName)
  End If
'  GoTo CleanUp
'ErrHandler:
'  Err.Raise Err.Number, Err.Source, Err.Description & " from clsCommonFunctions.RsToHtmlTable."
'CleanUp:
  ASPRsToHtmlCombo = sHTML & vbCrLf & selEnd
  Exit Function
'MarkAsSelected:
'  If UCase(sOpt) Like "*" & Trim(strSelectedItem) & ">*" Or sOpt Like "*" & Trim(strSelectedItem) & ">*" Then
'        'assumes that strSelectedItem is unique and is
'        'not a substring of any other HTML OPTION
'      sOpt = Replace(UCase(sOpt), "OPTION VALUE", "OPTION SELECTED VALUE")
'  End If
'  Return

End Function


Download this snippet    Add to My Saved Code

Convert ADO Rs into an HTML Comments

No comments have been posted about Convert ADO Rs into an HTML. Why not be the first to post a comment about Convert ADO Rs into an HTML.

Post your comment

Subject:
Message:
0/1000 characters