'---------------------------------------------------------------------------
'本函数用于将sTableName表中的sFieldNameArr数组字段数据根据条件sWhere加载到selName
'控件中去,返回值是加载的数据记录数.
'其中bShowAll参数为1是表示在selName中的第一项内容是'请选择...'其值表示所有的内容
' iFieldCount 表示字段名和数量
'---------------------------------------------------------------------------
Function AHshLoadSelData(selName,sTableName,sFieldNameArr,sWhere,iFieldLenArr,iFieldCount,bShowAll)
Dim strSql,rstTmp,iCount,strTmp,i
'构造查询字段列表 ------------------------------------------
strTmp = ""
For i = 1 To iFieldCount - 1
strTmp = strTmp & sFieldNameArr(i) & ","
Next
strTmp = strTmp & sFieldNameArr(iFieldCount)
strSql = "Select Distinct " & strTmp & " From Ams." & sTableName & " " & sWhere
set rstTmp = Server.CreateObject("ADODB.RecordSet")
rstTmp.Open strSql,Session("OraAMSCnn")
Response.Write("<Script Language = 'Javascript'>" & vbCrLf)
'先清空selName中的所有Option -------------------------------------------
Response.Write("for (i = " & selName & ".options.length ; i >= 0 ; i --)" & vbCrLf)
Response.Write("{" & selName & ".options[i] = null ; }" & vbCrLf)
Response.Write("var optItem ;" & vbCrLf)
If bShowAll = 1 Then ' 表示要显示所有内容
Response.Write("optItem = document.createElement('OPTION') ; " & vbCrLf)
Response.Write("optItem.text = '请选择...' ; " & vbCrLf)
Response.Write("optItem.value = 'ALL' ; " & vbCrLf)
Response.Write(selName & ".add(optItem);" & vbCrLf)
End if
If Not(rstTmp.Bof And rstTmp.Eof) Then
rstTmp.MoveFirst
iCount = 0
Do While Not rstTmp.Eof
Response.Write("optItem = document.createElement('OPTION') ; " & vbCrLf)
strTmp = ""
For i = 0 To iFieldCount - 1
strTmp = strTmp & AHshRFillStr(rstTmp.Fields(i)," ",iFieldLenArr(i + 1)) & ">"
Next
strTmp = Mid(strTmp,1,Len(strTmp) - 1)
Response.Write("optItem.text = '" & strTmp & "' ; " & vbCrLf)
Response.Write("optItem.value = '" & strTmp & "' ; " & vbCrLf)
Response.Write(selName & ".add(optItem);" & vbCrLf)
iCount = iCount + 1
rstTmp.MoveNext
Loop
End If
rstTmp.Close
set rstTmp = Nothing
If iCount > 0 Then
Response.Write(selName & ".selectindex = 1 ;" & vbCrLf)
End IF
AHshLoadSelData = iCount
Response.Write("</Script>" & vbCrLf)
End Function

