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

Dependientes

Estas en el tema de Dependientes en el foro de ASP Clásico en Foros del Web. hola y saludos. Tengo un gran problema. Estoy utilizando dos combos dependientes, los cuales estan relacionados a traves de una bd en access. Cuando selecciono ...
  #1 (permalink)  
Antiguo 17/02/2003, 09:13
 
Fecha de Ingreso: enero-2003
Ubicación: Caracas
Mensajes: 439
Antigüedad: 21 años, 4 meses
Puntos: 0
Dependientes

hola y saludos. Tengo un gran problema. Estoy utilizando dos combos dependientes, los cuales estan relacionados a traves de una bd en access. Cuando selecciono uno de los elementos del combo, cambia autioamaticamente el valor en el otro combo relacionado con el otro valor. Eso me lo hace, pero el problema esta en que yo no quiero q me selecciione todos los elementos de la bd, sino unos que cumplan con una condicion especifica. He realizado consultas con if,con sql, y no me toma la condicion. De todos modos les mandio el codigo para que vean lo q estoy haciendo y si me pueden ayudar:

<SCRIPT ID=clientEventHandlersJS LANGUAGE=javascript>
<!--
function select1_onchange() {
// Este script asigna el valor seleccionado al campo hidden
// del form y hace el submit. Esto provoca que se genere una
// variable que recojo del objeto Request.
form2.marca.value = form1.select1.value;
form2.submit();
}

//-->
</SCRIPT>
</HEAD>
<BODY bgcolor="#336699">

<!--
Este form tiene un campo escondido que me permite cargarle un
valor, forzar el submit para que genere una variable en el objeto
Request.
//-->

<FORM name="form2" method="POST">
<INPUT type="hidden" name="marca">
</FORM>

<%
' Defino la conexion y el recordset
set conn = server.CreateObject("ADODB.Connection")
set rs = server.CreateObject("ADODB.Recordset")
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & SERVER.MApPath("Bases de Datos\San Ignacio de Loyola.mdb"))
set rs = CreateObject("ADODB.Recordset")
rs.Open "Acceso_PyR", conn,1
rs.movefirst
do while rs.eof=false
if c=rs.fields(0) then
' Armo string de conexion y lo abro.

%>

<CENTER>
<P align="center"><font face="Verdana" size=3 color="white"><b>EJEMPLO DE CARGA DE COMBOS DEPENDIENTES</b></font></p>
<HR>
<!--
Este es el form que se le presenta al usuario y solicita los datos
//-->

<FORM name="form1" method="GET">
<select name="select1" language=javascript onChange="return select1_onchange()">
<option value="0">--Seleccione un Nombre--</option>
<%
set rs = conn.Execute("SELECT * FROM Alumno where 'Cedula_PyR="& (c)&"'")
While NOT rs.EOF
%>
<option value="<%=rs.Fields("Codigo_Alumno")%>" <%if Clng(Request.Form("Nombre_Alumno"))=rs.Fields("Cod igo_Alumno") then%>selected<%end if%>><%=rs.Fields("Nombre_Alumno")%></option>
<%
rs.MoveNext
Wend%>
</select>
<%

' Cierro y destruyo el recordset
rs.Close
set rs = Nothing
%>
<!--
El segundo select se arma en base al codigo de Marca que se envio
con el submit del form que contiene campos hidden.
//-->

<SELECT name="select2">
<OPTION value="0"></OPTION>
<%
set rs = conn.Execute("SELECT * FROM Alumno Where 'Codigo_Alumno=" & Request.Form("Marca")&"'")
While NOT rs.EOF
%>
<OPTION value="<%=rs.Fields("Nombre_Alumno")%>"<%if Trim(Request.Form("marca"))=rs.fields("Codigo_Alum no") then%>selected<%end if%>><%=rs.Fields("Codigo_Alumno")%></OPTION>
<%
rs.MoveNext
Wend
%>
</SELECT>

<%
'Cierro y destruyo el recordset
rs.Close
set rs = Nothing

'Cierro y destruyo la conexion
end if
rs.movenext
loop
conn.Close
set conn = Nothing
%>

<P>&nbsp;
</FORM>
</CENTER>



Gracias y saludos de antemano
  #2 (permalink)  
Antiguo 17/02/2003, 16:51
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 5 meses
Puntos: 61
Fabián!

Muchachote, creo que lo que necesitas es una buena ayuda en ASP y no en Javascript. Donde nosotros, pobres mortales, no manejamos bases de datos ni programamos en el lado del servidor. Te deseo más suerte en esete foro que seguro que te contestan muy amablemente y de mil amores...

Un saludo!
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
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




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