Foros del Web » Programando para Internet » ASP Clásico »

recuperar valores desde un combo

Estas en el tema de recuperar valores desde un combo en el foro de ASP Clásico en Foros del Web. Les explicaré mi problema haber si alguien sabe porque falla. Tengo una página donde el cliente de de alta una nueva empresa, con muchos campos ...
  #1 (permalink)  
Antiguo 01/07/2003, 04:45
 
Fecha de Ingreso: noviembre-2002
Mensajes: 130
Antigüedad: 21 años, 7 meses
Puntos: 0
Pregunta recuperar valores desde un combo

Les explicaré mi problema haber si alguien sabe porque falla.
Tengo una página donde el cliente de de alta una nueva empresa, con muchos campos (Empresa, dirección, pais, sector, actividad,...). Dentro de esta página empleo tres combos que forman parte de otra tabla (sectores, actividad y Pais). Hasta aquí bien. Selecciono lo que me interesa y lo guardo.

El problema me aparece cuando quiero modificar alguna empresa y cargo el mismo combo en modificar.asp. El combo que despliega las opciones, como por ejemplo los sectores, este debería marcar el sector que he dado en el alta de la empresa (p.ej. Mobiliario) y lo que sucede es que aparece el primero de la lista (Acero). Me supone un gran problema porque tengo más de 100 empresas dadas de alta y es dificil, por no decir imposible acordarse de todas ellas.

Encontré en las faq's un codigo que a primera vista parece funcionar, pero no me recupera el valor guardado.. (que evidentemente está en otra tabla)...

Si alguien puede ayudar se lo agradezco desde ya mismo..

<%
sql = "SELECT * from sectores"
rs.open sql
%>

<select name="bd_sectores">
<%if not rs.eof then
list = rs.getrows()
end if%>
<%for i=0 to ubound(list,2) %>
<option value="<%=list(0,i)&"/"&list(1,i)%>" <%if request("bd_sectores")<>"" then%><%if request("bd_sectores")=ucase(list(0,i)) then Response.Write "selected"%><%end if%>><%=list(1,i)%></option>
<% next%>
</select>
  #2 (permalink)  
Antiguo 01/07/2003, 11:32
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 3 meses
Puntos: 535
cuando vas a modificar una empresa, mínimo tenés dos recordset.. no es cierto?

uno con la información de la empresa y otro con todos los sectores (supongo que la empresa tiene un ID de sector, relacionado con la tabla sectores)

al generar el select, ponés como primer opción (y SELECTED) la información del sector de esa empresa en particular y luego la información de todos los sectores restantes (aunque uno se repita con el sector de la empresa actual)

sería algo así (donde rs1 es el recordset con la info de la empresa a modificar y rs2 es el record... de todos los sectores)

<select name="sector">
<option value="<% = rs1("ID_SECTOR") %>" SELECTED><% = rs1("SECTOR") %></option>
<% do while not rs2.EOF %>
<option value="<% = rs2("ID_SECTOR") %>"><% = rs2("SECTOR") %></option>
<%
rs2.MoveNext
Loop
%>
</select>
__________________
...___...
  #3 (permalink)  
Antiguo 02/07/2003, 16:10
 
Fecha de Ingreso: noviembre-2002
Mensajes: 130
Antigüedad: 21 años, 7 meses
Puntos: 0
Gracias Dazuaga,
como bien supones hay dos Recordset, uno para la tabla empresas y otro para la tabla sectores.
hasta ahora y cn lo enviado por tu parte he sacado algo asi y realmente funciona:

<select NAME="bd_sector" class="input">
<% set catSector = Conexion.Execute("select * from sectores")
while not catSector.EOF
Response.Write "<option VALUE="&chr(34) &catSector("id")&chr(34)
if cint(catSector("id")) = cint(bd_sector) then
Response.Write " SELECTED"
end if
Response.Write ">" & catSector("bd_sector")
catSector.MoveNext
wend
%>
</select>

El problema que ahora tengo (y es donde estoy trabajando) es que en una página anterior donde hago una busqueda por sectores, evidentemente no llega a funcionar porque lo que escribe en la tabla es un numero id relacionado con la tabla sectores, y no sectores en concreto (ya sea aluminio, metal, madera, plastico, iluminacion...).

¿¿¿Puedo enviar a la página donde guarda las modificaciones alguna variable donde convierta el numero 1 en texto como aluminio, o el 2 como metal, o el 3 como madera...???

No se si me explicado bien..
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 15:15.