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

ayuda con SELECT en asp

Estas en el tema de ayuda con SELECT en asp en el foro de ASP Clásico en Foros del Web. Saludos estoy intentando hacer un select que se active con otro select, me explico: un primer select que me diga las provincias, eligiendo la provincia ...
  #1 (permalink)  
Antiguo 18/05/2009, 06:36
 
Fecha de Ingreso: mayo-2009
Mensajes: 40
Antigüedad: 15 años, 11 meses
Puntos: 0
ayuda con SELECT en asp

Saludos

estoy intentando hacer un select que se active con otro select, me explico:

un primer select que me diga las provincias, eligiendo la provincia que salga en otro select las localidades, el codigo que tengo hecho es el siguiente:

Código:
<form method="post" action="detall.asp">

<table width="300" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td> Selecciona Provincia
</td>
  </tr>
  <tr>
    <td>	<Select NAME="provincia" SIZE=1>
<% Set conexion=Server.CreateObject("ADODB.Connection")
basedatos="DRIVER=Microsoft Access Driver (*.mdb);DBQ="&Server.MapPath("/kyu21/Db/peluqueria.mdb")
conexion.Open basedatos
	sql="select * from provincia where provincia"
	set rs=conexion.execute(sql)
	%>
<%Do While Not rs.EOF %>
<Option VALUE="<%= rs("provincia") %>"> <%= rs("provincia") %>
<% rs.MoveNext
Loop
rs.Close
conexion.Close %>
</Select></td>
  
  </tr>
    <tr>
    <td> Selecciona Localidad
</td></tr>
    <tr>
    <td>	<Select NAME="localidad" SIZE=1>
<% 
	loc1=request.get("provincia")
Set conexion=Server.CreateObject("ADODB.Connection")
basedatos="DRIVER=Microsoft Access Driver (*.mdb);DBQ="&Server.MapPath("/kyu21/Db/peluqueria.mdb")
conexion.Open basedatos
	sql="select * from localidad where localidad like '"&loc1&"'"
	set rs=conexion.execute(sql)
	%>
<%Do While Not rs.EOF %>
<Option VALUE="<%= rs("localidad") %>"> <%= rs("localidad") %>
<% rs.MoveNext
Loop
rs.Close
conexion.Close %>
</Select></td>
  
  </tr>
</table>
quisiera saber donde esta el error
gracias
  #2 (permalink)  
Antiguo 18/05/2009, 15:06
Avatar de mc_quake  
Fecha de Ingreso: enero-2006
Ubicación: www.ecocargo.cl
Mensajes: 683
Antigüedad: 19 años, 3 meses
Puntos: 8
Respuesta: ayuda con SELECT en asp

busca hacerlo con listas enlazadas mediante java script , ajax u otro, asi evitas refrescar el sitio web


http://www.obispot.com/labs/codigo/listas-ajax-json/
__________________
Mc_Quake

Para ayudar en lo que se pueda:Zzz:
  #3 (permalink)  
Antiguo 18/05/2009, 17:58
Avatar de luisvasquez  
Fecha de Ingreso: diciembre-2003
Ubicación: Venezuela
Mensajes: 879
Antigüedad: 21 años, 4 meses
Puntos: 6
Respuesta: ayuda con SELECT en asp

Hola Kyu,

Yo implementé eso con Ajax y ASP y funcionó muy bien. Te dejo la url para descargar un ejemplo que usa 3 listas (país- estado- ciudad). Lo mejor es que al usar Ajax despliega las listas sin recargas la página.

http://www.tuflete.com/combo.rar

Saludos,
Luis
  #4 (permalink)  
Antiguo 19/05/2009, 02:41
 
Fecha de Ingreso: mayo-2009
Mensajes: 40
Antigüedad: 15 años, 11 meses
Puntos: 0
Respuesta: ayuda con SELECT en asp

gracias lo he probado y no me fuciona me da error en la linea 81 el "<% End if %>"
pongo el codigo para ver donde esta el error, marco en azul lo que me da error. Gracias

Código:
<!--#include file="bd_combo_box.asp"-->

<title>Buscador</title>

<!--#include file="funciones_ajax_combo_box.asp"-->
 <% call cerrar_bd()
   


   
   
 if request.Form = "" then ' Si es primera vez que entra a la forma.%>
<table width="100%" border="0" align="center" cellpadding="0" cellspacing="0"  >
<form action="resultado.asp" method="post" name="pelu1">
     <tr>
      <td align="center" valign="middle"  ><div class="TextoEtiquetaForm<%=session("tipo_pagina")%>">
           <div><strong>Comunidad Aut&oacute;noma</strong></div>
       </div></td></tr><tr>
       <td align="center" valign="middle" class="forma" id="fila_3"><div>
         <select name="comunidad" id="select_3"  class="forma"  tabindex="5"  onChange="cargaContenido(4,'pec','H')">
           <option selected value ="" >Comunidad Aut&oacute;noma</option>
           <%	
	      ' Muestra la lista de paises en la B/D
	      call abrir_bd()
	      sql = "select * from datos where comunidad order by comunidad asc" 
	      set rs = cnn.execute(sql)
	      if err.number <> 0 then
             response.redirect "mensaje_soporte.asp?UrlRedireccion="&request.ServerVariables("SCRIPT_NAME")&"?"&request.ServerVariables("QUERY_STRING")&"&error="&Server.Urlencode(dictLanguage.Item(session("idioma")&"_mensaje_soporte_02")&Err.number)	  
          end if
          do while rs.eof = false %>
           <option <% if rs("comunidad") = session("comunidad") then%> selected <% End if%> value="<%=rs("comunidad")%>"> <%=rs("comunidad")%> </option>
           <% rs.movenext 
	      loop
		  rs.close %>
         </select>
       </div></td>
     </tr>
     <tr>
       
      <td align="center" valign="middle" class="etiqueta"><div class="TextoEtiquetaForm<%=session("tipo_pagina")%>">
           <div><strong>Provincia </strong></div>
       </div></td>
    </tr><tr>
       <td align="center" valign="middle" class="forma" id="fila_4"><div>
         <select name="select_4" size="1" class="forma" id="select_4"  tabindex="6" >
           <option value="">Provincia</option>
           <% if session("comunidad") <> "" and session("comunidad") <> 0  then %>
           <option selected value="<%= session("provincia") %>"><%= session("provincia") %></option>
           <% End if %>
         </select>
       </div></td>
     </tr>
     <tr>
       
      <td align="center" valign="middle"><div class="TextoEtiquetaForm<%=session("tipo_pagina")%>">
           <div><strong>Ciudad</strong></div>
       </div></td>
    </tr>
     <tr>
       <td align="center" valign="middle" class="forma" id="fila_5"><div>
         <select name="select_5" size="1" class="forma" id="select_5"  tabindex="7" >
           <option value="">Seleccione la Ciudad</option>
           <% if session("provincia") <> "" and session("provincia") <> 0 then %>
              <option selected value="<%= session("localidad") %>"><%= session("localidad") %></option>
           <% End if %>
           </select>
    

       </div></td>
       
    </tr>
     <tr>
      <td align="center" valign="middle" class="etiqueta"><div class="TextoEtiquetaForm<%=session("tipo_pagina")%>">
           <div><strong>Peluquer&iacute;a </strong></div>
       </div></td></tr>
<tr>       <td align="center" valign="middle" class="forma" id="fila_6"><div>
<select name="select_6" size="1" class="forma" id="select_6"  tabindex="7" >
           <option value="">Peluqueria</option>
           <% if session("localidad") <> "" and session("localidad") <> 0 then %>
              <option selected value="<%= session("nombre") %>"><%= session("nombre") %></option>
          		   <% End if %>
                   </select>
           </div></td></tr>
           <tr> <td align="center" valign="middle"> <input name="Mostrar" type="submit" value="Mostrar" />
           </td></tr></form></table>
  #5 (permalink)  
Antiguo 19/05/2009, 04:40
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 18 años, 3 meses
Puntos: 126
Respuesta: ayuda con SELECT en asp

Hola

Prueba este otro

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #6 (permalink)  
Antiguo 19/05/2009, 05:08
 
Fecha de Ingreso: mayo-2009
Mensajes: 40
Antigüedad: 15 años, 11 meses
Puntos: 0
Respuesta: ayuda con SELECT en asp

ese tambien lo he probado y no me sirve gracias de todos modos
  #7 (permalink)  
Antiguo 19/05/2009, 05:37
Avatar de luisvasquez  
Fecha de Ingreso: diciembre-2003
Ubicación: Venezuela
Mensajes: 879
Antigüedad: 21 años, 4 meses
Puntos: 6
Respuesta: ayuda con SELECT en asp

Cita:
Iniciado por kyu24 Ver Mensaje
gracias lo he probado y no me fuciona me da error en la linea 81 el "<% End if %>"
Que error te da?

Fijate que yo lo tengo implementado en

http://www.tuflete.com/calcular_rutas_venezuela.asp

y funciona perfecto.

Saludos,
Luis
  #8 (permalink)  
Antiguo 19/05/2009, 06:06
 
Fecha de Ingreso: mayo-2009
Mensajes: 40
Antigüedad: 15 años, 11 meses
Puntos: 0
Respuesta: ayuda con SELECT en asp

lo unico que pido es que me reviseis el codigo k he puesto a ver donde esta el fallo he marcado de color azul donde me da el error al probarlo en el servidor

Microsoft VBScript compilation error '800a03f6'

Expected 'End'

/kyu21/combo_box_ciudades.asp, line 81


de todas formas miradlo por favor ya que lo he modificado

gracias

Última edición por kyu24; 19/05/2009 a las 06:16
  #9 (permalink)  
Antiguo 19/05/2009, 06:53
Avatar de luisvasquez  
Fecha de Ingreso: diciembre-2003
Ubicación: Venezuela
Mensajes: 879
Antigüedad: 21 años, 4 meses
Puntos: 6
Respuesta: ayuda con SELECT en asp

La verdad es que probé tu código y da el error que dices, pero no puedo detectar la razón de este error. Te pregunto ¿el original te funcionó?? ¿fue despues de modificarlo que te dió el error?
  #10 (permalink)  
Antiguo 20/05/2009, 00:50
 
Fecha de Ingreso: mayo-2009
Mensajes: 40
Antigüedad: 15 años, 11 meses
Puntos: 0
Respuesta: ayuda con SELECT en asp

si el original funciono yo solo he cambiado los nombres de los campos a los que hace la referencia y la direccion de la base de datos ya esta pero solo me da error el End y no se por que es el que me mandastes que se llama combo, el de las ciudades y paises de origen y destino
  #11 (permalink)  
Antiguo 20/05/2009, 06:15
Avatar de luisvasquez  
Fecha de Ingreso: diciembre-2003
Ubicación: Venezuela
Mensajes: 879
Antigüedad: 21 años, 4 meses
Puntos: 6
Respuesta: ayuda con SELECT en asp

Ok, esta función Ajax está probada manejando 3 combos dependientes, no 4.

Si tus listas son Provincia-Ciudad-peluquería creo que deberías solo estos 3.

Yo tampoco pude detectar el error en el End if. Creo que deberias tomar de nuevo el original y comenzar a hacer los cambios uno a uno y probando.

Saludos,
Luis
  #12 (permalink)  
Antiguo 20/05/2009, 08:22
 
Fecha de Ingreso: mayo-2009
Mensajes: 40
Antigüedad: 15 años, 11 meses
Puntos: 0
De acuerdo Respuesta: ayuda con SELECT en asp

gracias probare lo de poner 3 en vez de 4 ya os contare, de todas formas, si alguien tiene el codigo ajax para 4 lo agradeceria enormemente, ya que necesito los 4 en la web

gracias x todo
  #13 (permalink)  
Antiguo 20/05/2009, 11:23
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 18 años, 3 meses
Puntos: 126
Respuesta: ayuda con SELECT en asp

Hola

Ok, probemos otra vez. La liga que te pase en post anteriores, es un script que puede editarlo para 3,4,5,n select dependientes

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #14 (permalink)  
Antiguo 21/05/2009, 00:26
 
Fecha de Ingreso: mayo-2009
Mensajes: 40
Antigüedad: 15 años, 11 meses
Puntos: 0
Respuesta: ayuda con SELECT en asp

lo siento pero os voy a dar un poquito mas las bara. no se como editar el ajax ya que todavia no estoy familiarizado con este lenguaje, si me pudieseis echar un cable os lo agradeceria eternamente

los nombres de los campos serian

1º comunidad
2º provincia
3º localidad
4º nombre

la tabla se llama datos

gracias

Última edición por kyu24; 21/05/2009 a las 03:18
  #15 (permalink)  
Antiguo 25/05/2009, 00:42
 
Fecha de Ingreso: mayo-2009
Mensajes: 40
Antigüedad: 15 años, 11 meses
Puntos: 0
Respuesta: ayuda con SELECT en asp

he encontrado este simple codigo para 2 selects, funciona de maravilla, pero cuando intento convertirlo en 4 selects no me lo reconoce. pongo aki el codigo para ver si alguien sabe como convertirlo en 4 selects
Código:
<form name=formulario>
PAÍS: <select name=idPais onChange="location.href('selects_dependientes.asp?idPais=' + formulario.idPais.options[formulario.idPais.selectedIndex].value)">
<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("ssdd.mdb"))

SQL_pais="select * from paises order by pais asc"
set RS_pais=createobject("ADODB.Recordset")
RS_pais.open SQL_pais,conn
do while not RS_pais.eof
pais = RS_pais("pais")
idPais = RS_pais("idPais")
p = request.querystring("pais")
if p <> "" then

	if p = pais then
	response.write "<option value="&idPais&"&pais="&pais&" selected>"&pais&"</option>"
	elseif p <> pais then
	response.write "<option value="&idPais&"&pais="&pais&">"&pais&"</option>"
	end if
else
response.write "<option value="&idPais&"&pais="&pais&">"&pais&"</option>"
end if

RS_pais.movenext
	loop
RS_pais.close
%>
</select>
<%
if request.querystring("idPais") <> "" then %>
PROVINCIA: <select name=ubicacion>
<%
SQL_prov="select * from provincias where pais="&request.querystring("idPais")&" order by provincia asc"
set RS_prov=createobject("ADODB.Recordset")
RS_prov.open SQL_prov,conn
do while not RS_prov.eof

pais = request.querystring("pais")
provincia = RS_prov("provincia")
%>
<option value="<%=provincia%>, <%=pais%>"><%=provincia%></option>
<%
RS_prov.movenext
	loop
RS_prov.close
%>
</select><% end if %></form>



gracias
  #16 (permalink)  
Antiguo 25/05/2009, 01:31
 
Fecha de Ingreso: mayo-2009
Mensajes: 40
Antigüedad: 15 años, 11 meses
Puntos: 0
Respuesta: ayuda con SELECT en asp

asi es como lo he intentado pero sin resultado, me da error en la linea 137

Microsoft VBScript compilation error '800a03f6'

Expected 'End'

/kyu21/selects_dependientes01.asp, line 137


os pongo el codigo modificado para que lo veais


Código:
<form name=formulario>



COMUNIDAD AUT&Oacute;NOMA: 







<select name=id_com onChange="location.href('selects_dependientes.asp?id_comunidad=' + formulario.id_comunidad.options[formulario.id_comunidad.selectedIndex].value)">
<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open("DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("kyu21/db/peluqueria1.mdb"))

SQL_comunidad="select * from comunidades order by comunidad asc"
set RS_comunidad=createobject("ADODB.connection")
RS_comunidad.open SQL_comunidad,conn
do while not RS_comunidad.eof
comunidad = RS_comunidad("comunidad")
id_com = RS_comunidad("id_com")
id_pro = RS_provincia("id_pro")
id_loc = RS_localidad("id_loc")
p = request.querystring("comunidad")
if p <> "" then

	if p = comunidad then
	response.write "<option value="&id_com&"&comunidad="&comunidad&" selected>"&comunidad&"</option>"
	elseif p <> comunidad then
	response.write "<option value="&id_com&"&comunidad="&comunidad&">"&comunidad&"</option>"
	end if
else
response.write "<option value="&id_com&"&comunidad="&comunidad&">"&comunidad&"</option>"
end if

RS_pais.movenext
	loop
RS_pais.close
%>
</select>

<%
if request.querystring("id_com") <> "" then 
%>
PROVINCIA:

<select name=id_pro onChange="location.href('selects_dependientes.asp?id_provincia=' + formulario.id_provincia.options[formulario.id_provincia.selectedIndex].value)">
<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open("DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("kyu21/db/peluqueria1.mdb"))

SQL_comunidad="select * from provincias order by provincia asc"
set RS_comunidad=createobject("ADODB.connection")
RS_provincia.open SQL_provincia,conn
do while not RS_comunidad.eof
provincia = RS_provincia("provincia")
id_com = RS_comunidad("id_com")
id_pro = RS_provincia("id_pro")
id_loc = RS_localidad("id_loc")
pr = request.querystring("provincia")
if pr <> "" then

	if pr = provincia then
	response.write "<option value="&id_pro&"&provincia="&provincia&" selected>"&provincia&"</option>"
	elseif pr <> localidad then
	response.write "<option value="&id_pro&"&provincia="&provincia&">"&provincia&"</option>"
	end if
else
response.write "<option value="&id_pro&"&provincia="&provincia&">"&provincia&"</option>"
end if

RS_provincia.movenext
	loop
RS_pais.close
%>
</select>




<%
if request.querystring("id_pro") <> "" then 
%>
LOCALIDAD:

<select name=id_loc onChange="location.href('selects_dependientes.asp?id_localidad=' + formulario.id_localidad.options[formulario.id_localidad.selectedIndex].value)">
<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open("DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("kyu21/db/peluqueria1.mdb"))

SQL_comunidad="select * from localidades order by localidad asc"
set RS_comunidad=createobject("ADODB.connection")
RS_provincia.open SQL_provincia,conn
do while not RS_localidad.eof
localidad = RS_localidad("localidad")
id_com = RS_comunidad("id_com")
id_pro = RS_provincia("id_pro")
id_loc = RS_localidad("id_loc")
lo = request.querystring("localidad")
if lo <> "" then

	if lo = localidad then
	response.write "<option value="&id_loc&"&localidad="&localidad&" selected>"&localidad&"</option>"
	elseif lo <> localidad then
	response.write "<option value="&id_loc&"&localidad="&localidad&">"&localidad&"</option>"
	end if
else
response.write "<option value="&id_pro&"&provincia="&provincia&">"&provincia&"</option>"
end if

RS_provincia.movenext
	loop
RS_pais.close
%>
</select>

<%
if request.querystring("id_loc") <> "" then %>
CENTRO: <select name=centro>
<%
SQL_cen="select * from datos where localidad="&request.querystring("id_loc")&" order by nombre asc"
set RS_cen=createobject("ADODB.Recordset")
RS_cen.open SQL_cen,conn
do while not RS_cen.eof

localidad = request.querystring("provincia")
nombre = RS_cen("nombre")
%>
<option value="<%=nombre%>, <%=localidad%>"><%=nombre%></option>
<%
RS_cen.movenext
	loop
RS_cen.close
%>
<% end if %></select>

</form>


gracias
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




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