列表仅显示一个项目

时间:2015-03-23 22:33:44

标签: list asp-classic box

我有两个表 - 一个是包含姓氏,首选名称和员工ID的员工列表。 我的第二张表有关于员工ID的培训信息。我希望下拉框在下拉框中按名称(不是empid)显示不同的培训师。目前只有一个培训师列在框中(有3个不同的ID)。

 <%
    strSQL = "SELECT distinct TrainerEmpID FROM TrainingEvaluation  ;"
    Set adoCon = Server.CreateObject("ADODB.Connection")
    adoCon.Open "DSN=testconsol"
    Set rs = Server.CreateObject("ADODB.Recordset")
    rs.Open strSQL, adoCon
    qtid=rs("TrainerEmpID")



        %>




<table  width="700" cellpadding="3" cellspacing="0">
    <tr height="9"></tr>
  <tr>
          <td><font face="sans-serif">Trainer:&nbsp;
            <%     strSQL = "SELECT * FROM EmployeeList WHERE EmpID= " & qtid & "   ;"
                Set adoCon4 = Server.CreateObject("ADODB.Connection")
                adoCon4.Open "DSN=testconsol"
                Set rs4 = Server.CreateObject("ADODB.Recordset")
                rs4.Open strSQL, adoCon4%>
<Select Name="TLName" size="1">
<%While Not rs4.EOF   %>
<option value="<%= rs4("LastName") %>"><%= rs4("LastName") %>,&nbsp;<%= rs4("PreferredName") %>    </option>
<%
rs4.MoveNext
Wend
    rs4.Close
    Set rs4 = Nothing
    Set adoCon4 = Nothing
%>


</Select>
    </td></font>

感谢您的帮助(我是新手)。

1 个答案:

答案 0 :(得分:1)

您的逻辑已关闭:您只使用第一个ID。

您可以使用单个SQL查询完成所有操作:

<table  width="700" cellpadding="3" cellspacing="0">
    <tr height="9"></tr>
  <tr>
          <td><font face="sans-serif">Trainer:&nbsp;
<Select Name="TLName" size="1">
<%
    strSQL = "SELECT distinct e.LastName, e.PreferredName  FROM TrainingEvaluation t Inner Join EmployeeList e On t.TrainerEmpID=e.EmpID"
    Set adoCon = Server.CreateObject("ADODB.Connection")
    adoCon.Open "DSN=testconsol"
    Set objRS = Server.CreateObject("ADODB.Recordset")
    objRS.Open strSQL, adoCon
    Do Until objRS.EOF %>
       <option value="<%= objRS("LastName") %>"><%= objRS("LastName") %>,&nbsp;<%= objRS("PreferredName") %>    </option>
<%
         objRS.MoveNext
    Loop
    objRS.Close
    Set objRS = Nothing
    adoCon.Close
    Set adoCon = Nothing
%>
</Select>
</td></font>