我有两个表 - 一个是包含姓氏,首选名称和员工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:
<% 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") %>, <%= rs4("PreferredName") %> </option>
<%
rs4.MoveNext
Wend
rs4.Close
Set rs4 = Nothing
Set adoCon4 = Nothing
%>
</Select>
</td></font>
感谢您的帮助(我是新手)。
答案 0 :(得分:1)
您的逻辑已关闭:您只使用第一个ID。
您可以使用单个SQL查询完成所有操作:
<table width="700" cellpadding="3" cellspacing="0">
<tr height="9"></tr>
<tr>
<td><font face="sans-serif">Trainer:
<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") %>, <%= objRS("PreferredName") %> </option>
<%
objRS.MoveNext
Loop
objRS.Close
Set objRS = Nothing
adoCon.Close
Set adoCon = Nothing
%>
</Select>
</td></font>