从记录集(Recordset)中生成HTML选项列表

ZDNet软件频道 时间:2003-02-10 作者:BUILDER.COM |  我要评论()
本文关键词:vbtips
当建立网址时,通常需要生成一个基于从数据库中重新获得的数据的选项列表。这个选项列表通常用于编写表值。下面的功能生成了一个HTML串,其中包含有一个基于ADO记录集的选项列表,并且可以用于由ASP网页读取的VB .dll中。它也同样适用于在ASP网页中直接运行。

当建立网址时,通常需要生成一个基于从数据库中重新获得的数据的选项列表。这个选项列表通常用于编写表值。下面的功能生成了一个HTML串,其中包含有一个基于ADO记录集的选项列表,并且可以用于由ASP网页读取的VB .dll中。它也同样适用于在ASP网页中直接运行。

功能参数包括一个可返回HTML串的ByRef参数、显示和值的列名、一个用作标记选项被选中的值以及一个可选参数来指定选项列表中的初始值。

Public Function GenerateDropdown( ByVal Data As Recordset, _
ByRef HTML As Variant, ByVal DisplayColumn As String, _
ByVal ValueColumn As String, ByVal SelectedOption As String, _
Optional ByVal FirstOption As Variant ) As Boolean
On Error GoTo ERR_HANDLER
Dim strHTML As String
If Not IsMissing(FirstOption) Then
strHTML = "<OPTION value=''"
If SelectedOption = FirstOption Then
strHTML = strHTML & " selected"
End If
strHTML = strHTML & ">" & FirstOption & "</OPTION>"
End If
With Data
If .RecordCount > 0 Then
.MoveFirst
End If
Do Until .EOF
strHTML = strHTML & "<OPTION value='" & _
.Fields.Item(ValueColumn).Value & "'"
If SelectedOption = .Fields.Item(ValueColumn).Value Then
strHTML = strHTML & " selected"
End If
strHTML = strHTML & ">"
strHTML = strHTML & .Fields.Item(DisplayColumn).Value
strHTML = strHTML & "</OPTION>"
Call .MoveNext
Loop
End With
HTML = strHTML
ERR_HANDLER:
If Err.Number <> 0 Then
Err.Raise Err.Number, Err.Source, Err.Description
GenerateDropdown = False
HTML = vbNullString
Else
GenerateDropdown = True
End If
End Function

当你需要从ADO数据集(ADORecordsets)中快速生成一个下拉列表时,这个功能是非常有用的。这个例子在这个功能中加入了它的逻辑,使之方便于日后的修改。



责任编辑:炒饭

欢迎评论或投稿


百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134