Hola!
Esto es basicamente lo que quieres, después puedes hacer cambios según lo creas conveniente...
Código:
<%
Dim Empresa
Empresa = request("empresas")
strsql2 = "select * from empresas"
set miconexion2 = conexion.execute(strsql2)
%>
<FORM METHOD=POST ACTION="" name="thisForm">
<td width="29%">EMPRESAS:</td>
<td width="71%">
<select size="1" name="empresas" Onchange="thisForm.submit();">
<%
Do while not miconexion2.EOF
if Empresa = miconexion2.fields("codempresa")
%>
<option value="<%=miconexion2.fields("codempresa")%>" selected>
<%=response.write(miconexion2.fields("nombre")%>
</option>
<% else %>
<option value="<%=miconexion2.fields("codempresa")%>">
<%=response.write(miconexion2.fields("nombre")%>
</option>
<% End if
miconexion2.movenext
Loop
%>
</select>
<tr>
<td width="29%">CONTACTOS</td>
<td width="71%">
<% If Empresa <> "" AND not isnull(Empresa) Then
strsql3 = "select c.Cod_contacto,c.nombre from contactosempresas c, empresas e"
strsql3 = strsql3 & " where c.codempresa=e.codempresa and c.codempresa = " & Empresa
set miconexion3 = conexion.execute(strsql3)
%>
<select size="1" name="contactos">
<% Do while not miconexion3.EOF %>
<option value=<%=miconexion3.fields("cod_contacto")%>><%=miconexion3.fields("nombre")%></option>
<% miconexion3.movenext
loop%>
</select>
<% End If %>
</td>
</tr>
</FORM>
Saludos.