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

Comparar

Estas en el tema de Comparar en el foro de ASP Clásico en Foros del Web. disculpen la molestia pero tengo horas tratando de resolver un problema y no he podido. Resulta que estoy trabajando con dos combos dependientes. Cunado selecciono ...
  #1 (permalink)  
Antiguo 14/02/2003, 12:09
 
Fecha de Ingreso: enero-2003
Ubicación: Caracas
Mensajes: 439
Antigüedad: 22 años, 3 meses
Puntos: 0
Exclamación Comparar

disculpen la molestia pero tengo horas tratando de resolver un problema y no he podido. Resulta que estoy trabajando con dos combos dependientes. Cunado selecciono un elemento del primer combo ,automaticamente en el otro combo cambia de acuerdo al valor correspondiente al del primero. Por supuesto que los valores estan en una bd. Yo quiero que solamente me aparezcan los datos de acuerdo a una condicion. He tratado de hacerlo con sql pero no me toma la condicion, por favor revisen mi codigo para ver q error tengo . Por favor, es urgente.....


<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")

' Armo string de conexion y lo abro.
strProvider="DRIVER=Microsoft Access Driver (*.mdb); DBQ=" & SERVER.MApPath("Bases de Datos\San Ignacio de Loyola.mdb")
conn.Open strProvider
%>

<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="&session("Cedula") &"'")
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
conn.Close
set conn = Nothing
%>

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


:cantar: Saliudos y gracias al q me quiera ayudar.......
  #2 (permalink)  
Antiguo 14/02/2003, 12:32
 
Fecha de Ingreso: enero-2002
Ubicación: Dentro del corralón
Mensajes: 287
Antigüedad: 23 años, 4 meses
Puntos: 0
Fabián:
Me parece que te faltan modificar mas cosas del ejemplo que te mandé. En algunos casos estás intentando convertir a Long (numérico entero largo) una variable Nombre_Alumno que estimo por el nombre debe contener caracteres alfanuméricos. ¿Por qué no pasás información de que contiene cada variable que usás y exactamente que necesitás que haga el script?. Por ej. la variable de sesión cédula ¿que contiene?, un número, un tipo de documento?. Recordá que el ejemplo que te mandé parte de una cantidad de registros en el primer combo que en base a una selección de un elemento de este, fuerza la carga del segundo con los registros relacionados del primero (Ej. Combo1=Marcas de auto, Combo2=Modelos de auto.)
Aclaranos un poco mas el tema que lo sacamos andando.
Saludos.
__________________
Leonardo D'Angelo
  #3 (permalink)  
Antiguo 14/02/2003, 12:41
 
Fecha de Ingreso: enero-2003
Ubicación: Caracas
Mensajes: 439
Antigüedad: 22 años, 3 meses
Puntos: 0
datos especificos

hola dangelo, gracias por responderme. Mira, los tipos de variables son las siguientes:

Session(Cedula): Es un entero largo.
Nombre_Alumno: Es de tipo texto.
Codigo_Alumno:Es de tipo texto.
Cedula_PyR: Es entero largo.

yo ,lo q quiero es que cuando yo obtenga la session cedula, por ejemplo: 15836578, me vaya a la tabla Alumno, y compare: el campo Cedula_PyR esta en la tabla alumno. Quiero comparar esta Campo con lasession cedula. Si son iguales, en los combos deben estar los codigos de los alumnos que pertenecen a la misma cedula, y los nombres en el otro combo, con el mismo criterio. Yo no quiero que me muestre todos los registros.Solamente los q cumplen con la condicion que te planteo.adicionalmente, cuando selecciono el nombre,me cambie automaticamente al codigo correspondiente a dicho alumno.


Esto es lo q yo quiero hacer. De verdad q gracias por tu ayuda y esperando pronta respuesta te saluda......Fabian
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 09:49.