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

3 combobox dependientes

Estas en el tema de 3 combobox dependientes en el foro de ASP Clásico en Foros del Web. con asp y base de datos , alguien tendra un codigo ya que estoy cansado de intentar hacerlo y nada me funciona. Gracias HUGOREI...
  #1 (permalink)  
Antiguo 21/02/2009, 14:49
(Desactivado)
 
Fecha de Ingreso: agosto-2002
Mensajes: 1.458
Antigüedad: 22 años, 3 meses
Puntos: 0
3 combobox dependientes

con asp y base de datos , alguien tendra un codigo ya que estoy cansado de intentar hacerlo y nada me funciona.

Gracias

HUGOREI
  #2 (permalink)  
Antiguo 22/02/2009, 08:03
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 10 meses
Puntos: 126
Respuesta: 3 combobox dependientes

Hola

Con ASP, la verdad es que no queda muy bien. Mejor sería ASP y AJAX

poblaciones.html
Código html:
Ver original
  1. <script type="text/javascript" src="poblaciones.js"></script>
  2. </head>
  3. <form action="poblaciones.asp" method="post">
  4. <div id="cajas">
  5. <tr>
  6. <td id="t_1">
  7. Comunidad<br /><select name="s_1" id="s_1">
  8. <option value="">Seleccionar Comunidad</option>
  9. <option value="Extremadura">Extremadura</option>
  10. <option value="Andalucia">Andalucia</option>
  11. </td>
  12. <td id="t_2">
  13. Provincia<br /><select name="s_2" id="s_2" disabled="true">
  14. <option value="">Seleccionar Provincia</option>
  15. </td>
  16. <td id="t_3">
  17. Ciudad<br /><select name="s_3" id="s_3" disabled="true">
  18. <option value="">Seleccionar Ciudad</option>
  19. </td>
  20. <td id="t_4">
  21. Calle<br /><select name="s_4" id="s_4" disabled="true">
  22. <option value="">Seleccionar Calle</option>
  23. </td>
  24. </tr>
  25. </div>
  26. </form>
  27. </body>
  28. </html>

poblaciones.js
Código js:
Ver original
  1. var ns4 = (document.layers)? true:false
  2. var ie4 = (document.all)? true:false
  3. var ns6 = (document.getElementById)? true:false
  4.  
  5. function captura_objeto(idnombre) {
  6.     if (ns6)
  7.     {
  8.     return document.getElementById(idnombre);
  9.     }
  10.     else if (ie4)
  11.     {
  12.     return document.all[idnombre];
  13.     }
  14.     else if (ns4)
  15.     {
  16.     return document.layers[idnombre];
  17.     }
  18.     else
  19.     {
  20.     return null;
  21.     }
  22. }
  23.  
  24.  
  25. function creaAjax(){
  26.     var ajaxs = ["Msxml2.XMLHTTP","Msxml2.XMLHTTP.4.0","Msxml2.XMLH TTP.5.0","Msxml2.XMLHTTP.3.0","Microsoft.XMLHTTP"];
  27.     var ajax = false;
  28.     for(var i=0 ; !ajax && i<ajaxs.length ; i++){
  29.         try{
  30.             ajax = new ActiveXObject(ajaxs[i]);   // Internet Explorer
  31.         }
  32.         catch(e) {
  33.             ajax = false;
  34.         }
  35.     }
  36.     if(!ajax && typeof XMLHttpRequest!='undefined') {
  37.         ajax = new XMLHttpRequest();  // Firefox, Opera 8.0+, Safari
  38.     }
  39.     return ajax;
  40. }
  41.  
  42.  
  43. function Ciudad(buska, id) {
  44. var ajax=creaAjax();
  45. var objetosel = captura_objeto("t_"+id);
  46. ajax.open("GET",'poblaciones_ajax.asp?mostrark='+buska+'&d='+id,true);
  47. ajax.onreadystatechange = function() {
  48.  
  49.         if (ajax==null){
  50.         alert ("Tu navegador web no soporta AJAX!");
  51.         return;
  52.     }
  53.  
  54.      if (ajax.readyState==4){
  55.                        if(ajax.status==200){          
  56.             if (objetosel.disabled = true)  objetosel.disabled = false;
  57.                     else objetosel.disabled = true;    
  58.                                                  objetosel.innerHTML = ajax.responseText;
  59.                    }
  60.                        else if (ajax.status==404)
  61.                                              {
  62.  
  63.                                     objetosel.innerHTML = "La dirección no existe";
  64.                                              }
  65.                                      else
  66.                                              {
  67.                                     objetosel.innerHTML = "Error: " + ajax.status;
  68.                                              }
  69.                                     }
  70.                   }
  71.    
  72.     ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
  73.              ajax.send(null);
  74.             return
  75. }
  76.    
  77.  
  78.  
  79.  
  80. function Evento() {
  81. var elemento = document.getElementById("s_1")
  82. var nomevento = "change"
  83. var funcion = function() {
  84. var suma = parseInt(this.id.split("_")[1]);
  85. suma += parseInt(1);
  86. Ciudad(document.getElementById(this.id).options[document.getElementById(this.id).selectedIndex].value, +suma);
  87. }
  88.  
  89.   if (elemento.attachEvent)
  90.   {
  91.       var f=function(){
  92.         funcion.call(elemento,window.event);
  93.     }
  94.     elemento.attachEvent('on'+nomevento,f);
  95.     return true;
  96.   }
  97.   else  
  98.     if (elemento.addEventListener)
  99.     {
  100.       elemento.addEventListener(nomevento,funcion,false);
  101.       return true;
  102.     }
  103.     else
  104.       return false;
  105. }
  106.  
  107.  
  108. window.onload = Evento;

CONTINUA EN EL SIGUIENTE POST
__________________
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;" />
  #3 (permalink)  
Antiguo 22/02/2009, 08:21
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 10 meses
Puntos: 126
Respuesta: 3 combobox dependientes

poblaciones_ajax.asp
Código asp:
Ver original
  1. Dim buscarpor, oConn, rs, SQL, registros, z
  2. Dim Comunidad, Provincia, Ciudad, Calle ' campos de la bd
  3. Comunidad = 0
  4. Provincia = 1
  5. Ciudad = 2
  6. Calle = 3
  7.  
  8. buscarpor = Split(Request.QueryString("mostrark"), "-")
  9.  
  10. ' conexión a bd
  11.  
  12. Select Case UBound(buscarpor)
  13. Case 0 :
  14. SQL ="SELECT Comunidad, Provincia FROM Poblaciones WHERE Comunidad LIKE '"& buscarpor(0) &"%' GROUP BY Comunidad, Provincia ORDER BY Provincia asc"
  15. set rs = oConn.Execute(SQL)
  16. registros = rs.getrows()
  17. Response.Write "Provincia<br /><select name=""s_2"" id=""s_2"" onchange=""Ciudad(document.getElementById('s_2').options[document.getElementById('s_2').selectedIndex].value, 3);"">"
  18. Response.Write "<option value="""">Seleccionar Provincia</option>"
  19. For z = 0 to UBound(registros,2)
  20. Response.Write "<option value="""& buscarpor(0) &"-"& registros(Provincia,z) &""">" & registros(Provincia,z) & "</option>"
  21. Next 'z
  22. Response.Write "</select>"
  23. rs.Close
  24. Set rs = Nothing
  25. oConn.Close
  26. Set oConn = Nothing
  27.  
  28. Case 1 :
  29. SQL ="SELECT Comunidad, Provincia, Ciudad FROM Poblaciones WHERE Comunidad LIKE '"& buscarpor(0) &"%' AND Provincia LIKE '"& buscarpor(1) &"%' GROUP BY Comunidad, Provincia, Ciudad ORDER BY Ciudad asc"
  30. set rs = oConn.Execute(SQL)
  31. registros = rs.getrows()
  32. Response.Write "Ciudad<br /><select name=""s_3"" id=""s_3"" onchange=""Ciudad(document.getElementById('s_3').options[document.getElementById('s_3').selectedIndex].value, 4);"">"
  33. Response.Write "<option value="""">Seleccionar Ciudad</option>"
  34. For z = 0 to UBound(registros,2)
  35. Response.Write "<option value="""& buscarpor(0) &"-"& buscarpor(1) &"-"& registros(Ciudad,z) &""">" & registros(Ciudad,z) & "</option>"
  36. Next 'z
  37. Response.Write "</select>"
  38. rs.Close
  39. Set rs = Nothing
  40. oConn.Close
  41. Set oConn = Nothing
  42.  
  43. Case 2 :
  44. SQL ="SELECT Comunidad, Provincia, Ciudad, Calle FROM Poblaciones WHERE Comunidad LIKE '"& buscarpor(0) &"%' AND Provincia LIKE '"& buscarpor(1) &"%' AND Ciudad LIKE '"& buscarpor(2) &"%' GROUP BY Comunidad, Provincia, Ciudad, Calle ORDER BY Calle asc"
  45. set rs = oConn.Execute(SQL)
  46. registros = rs.getrows()
  47. Response.Write "Calle<br /><select name=""s_4"" id=""s_4"">"
  48. Response.Write "<option value="""">Seleccionar Calle</option>"
  49. For z = 0 to UBound(registros,2)
  50. Response.Write "<option value="""& buscarpor(0) &"-"& buscarpor(1) &"-"& buscarpor(2) &"-"& registros(Calle,z) &""">" & registros(Calle,z) & "</option>"
  51. Next 'z
  52. Response.Write "</select>"
  53. rs.Close
  54. Set rs = Nothing
  55. oConn.Close
  56. Set oConn = Nothing
  57.  
  58. End Select

NOTA: El código está editado con la solución después de subsanar el inconveniente

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;" />

Última edición por Adler; 24/02/2009 a las 05:51
  #4 (permalink)  
Antiguo 22/02/2009, 09:30
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 9 meses
Puntos: 146
Respuesta: 3 combobox dependientes

Cita:
Iniciado por Adler Ver Mensaje
NOTA: El resto del código no puede imprimirlo, me aparece Error 500 page. Change it on /errors/500.html Add more on the .htaccess file
Suerte
Shiryu_Libra ya lo reportó el fallo en el foro correspondiente ¿haz seguido teniendo ese problema en otros hilos o solo en este?
  #5 (permalink)  
Antiguo 22/02/2009, 09:47
(Desactivado)
 
Fecha de Ingreso: agosto-2002
Mensajes: 1.458
Antigüedad: 22 años, 3 meses
Puntos: 0
Respuesta: 3 combobox dependientes

ups y como sigue ? te mande un privado , podrias mandarmelo


MUCHAS GRACIASSSSSSSSSSSSS , es un tema que vengo buscando hace rato e intente de todo.
  #6 (permalink)  
Antiguo 22/02/2009, 13:20
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 10 meses
Puntos: 126
Respuesta: 3 combobox dependientes

Cita:
Iniciado por Myakire Ver Mensaje
Shiryu_Libra ya lo reportó el fallo en el foro correspondiente ¿haz seguido teniendo ese problema en otros hilos o solo en este?
Solamente en este post. Gran trabajo
__________________
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;" />
  #7 (permalink)  
Antiguo 22/02/2009, 13:36
(Desactivado)
 
Fecha de Ingreso: agosto-2002
Mensajes: 1.458
Antigüedad: 22 años, 3 meses
Puntos: 0
Respuesta: 3 combobox dependientes

Cita:
Iniciado por Adler Ver Mensaje
poblaciones_ajax.asp
Código asp:
Ver original
  1. <%
  2. Dim buscarpor, oConn, rs, SQL, registros, z
  3. Dim Comunidad, Provincia, Ciudad, Calle
  4. Comunidad = 0
  5. Provincia = 1
  6. Ciudad = 2
  7. Calle = 3
  8.  
  9. buscarpor = Split(Request.QueryString("mostrark"), "-")
  10.  
  11. ' conexion a bd
  12.  
  13. Select Case UBound(buscarpor)
  14. Case 0 :
  15. ' busco provincia
  16. Case 1 :
  17. ' busco ciudad
  18. Case 2 :
  19. ' busco calle
  20. End Select

NOTA: El resto del código no puede imprimirlo, me aparece Error 500 page. Change it on /errors/500.html Add more on the .htaccess file

Suerte

como sigue ??????'
  #8 (permalink)  
Antiguo 22/02/2009, 17:11
(Desactivado)
 
Fecha de Ingreso: agosto-2002
Mensajes: 1.458
Antigüedad: 22 años, 3 meses
Puntos: 0
Respuesta: 3 combobox dependientes

Funciona de maravilla , pero tengo una duda como hago para que me muestre el resultado de los datos encontrados segun el combobox
  #9 (permalink)  
Antiguo 23/02/2009, 06:01
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 10 meses
Puntos: 126
Respuesta: 3 combobox dependientes

Hola

Cita:
Iniciado por hugorei Ver Mensaje
Funciona de maravilla , pero tengo una duda como hago para que me muestre el resultado de los datos encontrados segun el combobox
¿A que te refieres? ¿Será que has de añadirle un submit?

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;" />
  #10 (permalink)  
Antiguo 23/02/2009, 12:40
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 9 meses
Puntos: 146
Respuesta: 3 combobox dependientes

Ya esta solucionado ese detalle, por si quieres completar tu código Adler

saludos
  #11 (permalink)  
Antiguo 25/02/2009, 12:13
(Desactivado)
 
Fecha de Ingreso: agosto-2002
Mensajes: 1.458
Antigüedad: 22 años, 3 meses
Puntos: 0
Respuesta: 3 combobox dependientes

FUNCIONA MUY BIEN, EL TEMA QUE QUIERO ENVIAR SEGUN LA BUSQUEDA DE LOS 3 COMBOX PASARLO POR UN BOTON Y QUE ME MUESTRE LOS CAMPOS QUE LE DIGA DE LA BASE DE DATOS, como se puede hacer esto ?
  #12 (permalink)  
Antiguo 26/02/2009, 17:45
 
Fecha de Ingreso: febrero-2009
Mensajes: 23
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: 3 combobox dependientes

Hola a todos:

Que tal Adler, no he conseguido hacer funcionar tu codigo, no se porque!!!, pero tengo este otro que he encontrado y funciona muy bien, salvo que cuando hago la primera seleccion estan los resultados filtrados, pero en la segunda me salen resultados repetidos, no se si me entiendes... bueno, se puede solucionar, os dejo el codigo que le puede venir bien a hugorei
Código:
<%
' this section of code is self-contained and suitable to be moved to an include file
Function TripleLinkedList(oCon, sQuery, sFormFieldName, nSize, sDBField1, sDBField2, sDBField3, sDBFieldResult)
 ' this is a general-purpose routine that implements triple-linked
 ' listboxes. here is the drill
 Dim sTemp  ' general-purpose temp variable
 Dim sScript  ' bucket for holding the script structure
 Dim sSelect  ' bucket for the <SELECT> statement
 Dim sArray1  ' bucket to store the DBField2 array
 Dim nField1  ' counter for the primary array
 Dim sArray2  ' bucket to store the DBField3 array
 Dim nField2  ' counter for the secondary array
 Dim rs   ' recordset
 Dim sLastVal1 ' comparison string to test for record changes
 Dim sLastVal2 ' comparison string to test for record changes
 On Error Resume Next
 If Not IsObject(oCon) Then
  sScript = "error processing triplelist -- need a connection object."
 ElseIf oCon.State <> 1 Then
  If Err.number <> 0 Then
   sScript = "error processing triplelist -- invalid connection object."
  Else
   sScript = "error processing triplelist -- connection is not open."
  End If
 Else
  Set rs = oCon.Execute(sQuery)
  If Err.number <> 0 Then
   sScript = "error processing query. Error " & Hex(Err.number) & ": " & Err.Description
  ElseIf rs.EOF Then
   sScript = "no records found -- seems wrong"
  Else
   On Error Goto 0 
   sScript = "<SCR" & "IPT LANGUAGE=""JavaScript"">" & vbCrlf
   sScript = sScript & "var array1 = new Array();" & vbCrlf
   sScript = sScript & "var array2 = new Array();" & vbCrlf
   sSelect = "<SELECT NAME=""" & sFormFieldName & "1"" SIZE=""" & nSize & _
	""" ONCHANGE=""return(clickcombo(1,document.forms[0]." & _
	sFormFieldName & "1,document.forms[0]." & sFormFieldName & _
	"2,document.forms[0]." & sFormFieldName & "3));""><OPTION>Select a value</OPTION>" & vbCrlf
   sLastVal1 = "empty" ' set up a default test value...
	  Do Until rs.EOF
		  If rs(sDBField1) <> sLastVal1 Then
	 If Right(sArray1, 3) = "," & vbCrlf Then
	  ' pull off any trailing commas
	  sArray1 = Left(sArray1, Len(sArray1) - 3)
	 End If
	 If Len(sArray1) > 0 Then
	  sArray1 = sArray1 & ");" & vbCrlf
	 End If
	 ' pick up new information for this row...
	 nField1 = nField1 + 1
	 sLastVal1 = rs(sDBField1)
	 ' write the new contents of field 1 to the select statement
	 sSelect = sSelect & "<OPTION VALUE=" & nField1 & ">" & sLastVal1 & "</OPTION>"
	 ' write a new entry in array1 for the field 2 values...
	 sArray1 = sArray1 & "array1[" & nField1 & "] = new Array(" & vbCrlf
	 ' and reset the test values for field 2
	 nField2 = 0
	 sLastVal2 = "empty"
	End If
	If sLastVal2 <> rs(sDBField2) Then
	 If Right(sArray2, 3) = "," & vbCrlf Then
	  ' pull off any trailing commas
	  sArray2 = Left(sArray2, Len(sArray2) - 3)
	 End If
	 If Len(sArray2) > 0 Then
	  sArray2 = sArray2 & ");" & vbCrlf
	 End If
	 ' pick up new information for this row...
	 sLastVal2 = rs(sDBField2)
	 nField2 = nField2 + 1
	 ' write a new entry in array1 containing this set of field 2 values...
	 sArray1 = sArray1 & "	" & 1000 * nField1 + nField2 & ",""" & sLastVal2 & """," & vbCrlf
	 ' write a new entry in array2 for this set of field 3 values...
	 sArray2 = sArray2 & "// values for " & sLastVal2 & vbCrlf
	 sArray2 = sArray2 & "array2[" & 1000 * nField1 + nField2 & "] = new Array(" & vbCrlf
	End If
	' write the field3 values to the field2 array...
	sArray2 = sArray2 & "	" & rs(sDBFieldResult) & ",""" & rs(sDBField3) & """," & vbCrlf
	rs.MoveNext ' move on to the next record...
   Loop
   ' if these arrays weren't previously closed out, then close them now
   If Right(sArray2, 3) = "," & vbCrlf Then
	' pull off any trailing commas
	sArray2 = Left(sArray2, Len(sArray2) - 3)
   End If
   If Len(sArray2) > 0 Then
	sArray2 = sArray2 & ");" & vbCrlf
   End If
   ' if these arrays weren't previously closed out, then close them now
   If Right(sArray1, 3) = "," & vbCrlf Then
	' pull off any trailing commas
	sArray1 = Left(sArray1, Len(sArray1) - 3)
   End If

   If Len(sArray1) > 0 Then
	sArray1 = sArray1 & ");" & vbCrlf
   End If
   ' close out the listbox/combobox and add the second and third listbox/combobox entries...
   sSelect = sSelect & "</SELECT>" & vbCrlf
   sSelect = sSelect & "<SELECT NAME=""" & sFormFieldName & "2"" SIZE=""" & nSize & _
	""" ONCHANGE=""return(clickcombo(2,document.forms[0]." & sFormFieldName & _
	"1,document.forms[0]." & sFormFieldName & "2,document.forms[0]." & _
	sFormFieldName & "3));""><OPTION>Select a value</OPTION></SELECT>" & vbCrlf
   sSelect = sSelect & "<SELECT NAME=""" & sFormFieldName & "3"" SIZE=""" & nSize & _
	"""><OPTION>Select a value</OPTION></SELECT>" & vbCrlf
   ' finally clean up the script and write the whole thing out as a block
   sScript = sSelect & vbCrlf & _
	sScript & vbCrlf & _
	sArray1 & vbCrlf & _
	sArray2 & vbCrlf & _
	"</SCR" & "IPT>" & vbCrlf
  ' -----------------------------------------------------------------
  End If
  ' close and free the recordset
  rs.Close
  Set rs = Nothing
 End If
 ' and get the fleep outta here
 TripleLinkedList = sScript
End Function
%>

<SCRIPT LANGUAGE="JavaScript">
<!-- 
function clearcombo(elem){
 var i;
 for (i = elem.options.length; i >= 0; i--) elem.options[i] = null;
 elem.selectedIndex = -1;
}
function populatecombo2(elem, index){
 if (array1.length >= index){
  if (array1[index]){
   for (var i = 0; i < array1[index].length; i= i + 2){
	elem.options[elem.options.length] = new Option(array1[index][i + 1], array1[index][i]);
   }
  }
  else{
   elem.options[elem.options.length] = new Option("[none available]", 0);
  }
 }
 else{
  elem.options[elem.options.length] = new Option("[none available]", 0);
 }
}
function populatecombo3(elem, index){
 if (array2.length >= index){
  if (array2[index]){
   for (var i = 0; i < array2[index].length; i= i + 2){
	elem.options[elem.options.length] = new Option(array2[index][i + 1], array2[index][i]);
   }
  }
  else{
   elem.options[elem.options.length] = new Option("[none available]", 0);
  }
 }
 else{
  elem.options[elem.options.length] = new Option("[none available]", 0);
 }
}
function clickcombo(nWhich,elem1,elem2,elem3){
 if (nWhich == 1){
  clearcombo(elem2);
  clearcombo(elem3);
  populatecombo2(elem2, elem1[elem1.selectedIndex].value);
 }
 if (nWhich == 2){
  clearcombo(elem3);
  populatecombo3(elem3, elem2[elem2.selectedIndex].value);
 }
 return true;
}
// -->
</script>


<% 
Dim Conn
Dim sQuery
Set Conn = Server.CreateObject("ADODB.Connection")
'conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\websites\gotomygymcom\app\classes.mdb;Persist Security Info=False"
conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.mappath("classes.mdb")
conn.Open ' connect to the database
' -----------------------------------------------
' then set up a query
' -----------------------------------------------
sQuery = "SELECT distinct * from classlist"
If (Len(request.form("class_level")) > 0) Or (Len(request.form("weekday")) > 0) Then
   sQuery = sQuery & "Where "
   If Len(request.form("class_level")) > 0 Then
      sQuery = sQuery & "class_level = " & request.form("class_level")
   End If
   If Len(request.form("weekday")) > 0 Then
      sQuery = sQuery & " And weekday = " & request.form("weekday")
   End If
End If

sQuery = sQuery & " order by start_age"
%>


<%response.write(class_level)%>

<FORM id=form1 name=form1 ACTION="BBBBBBB.asp" METHOD="post">
<CENTER>
<%
Response.Write TripleLinkedList(Conn, sQuery, "listbox", 1, "class_level", "weekday", "start_time", "class_id")
Conn.Close
Set Conn = Nothing
%>
<P><input type="Submit" value="ENTRAR">
</FORM>
Código:
BBBBBBB.asp

<%
Dim Lista
Lista = Request.Form("listbox1")
Response.Write Lista
%>

<%
Dim Listb
Listb = Request.Form("listbox2")
Response.Write Listb
%>
Espero que os sirva y me podais ayudar en el error que os comento
  #13 (permalink)  
Antiguo 27/02/2009, 07:22
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 10 meses
Puntos: 126
Respuesta: 3 combobox dependientes

Hola, registros_r2

Con respecto a tu consulta en el filtrado has de usar Group By

Código asp:
Ver original
  1. GROUP BY campo1, campo2 ORDER BY campo asc

Cita:
Que tal Adler, no he conseguido hacer funcionar tu codigo, no se porque!!!
Tal vez sea por que faltaba una parte. Pero ya está editada y el código completado. Te puedo comentar que el código funciona tanto en IE6,7 como en FF. En Opera no lo he probado, pero no veo ninguna razón por la que no debiera funcionar

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 27/02/2009, 07:24
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 10 meses
Puntos: 126
Respuesta: 3 combobox dependientes

Hola

Cita:
Iniciado por hugorei Ver Mensaje
FUNCIONA MUY BIEN, EL TEMA QUE QUIERO ENVIAR SEGUN LA BUSQUEDA DE LOS 3 COMBOX PASARLO POR UN BOTON Y QUE ME MUESTRE LOS CAMPOS QUE LE DIGA DE LA BASE DE DATOS, como se puede hacer esto ?
¿Qué tienes hecho hasta ahora? Publica lo que tengas

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;" />
  #15 (permalink)  
Antiguo 28/02/2009, 07:10
(Desactivado)
 
Fecha de Ingreso: agosto-2002
Mensajes: 1.458
Antigüedad: 22 años, 3 meses
Puntos: 0
Respuesta: 3 combobox dependientes

<HTML>
<HEAD>
<TITLE>caterpillar</TITLE>
<META HTTP-EQUIV="" CONTENT="text/html; charset=iso-8859-1">
</HEAD>
<BODY BGCOLOR=#000000 text="#FFFF00" link="#FF0000" LEFTMARGIN=0 TOPMARGIN=0 MARGINWIDTH=0 MARGINHEIGHT=0>
<div align="center">
<TABLE WIDTH=797 BORDER=0 CELLPADDING=0 CELLSPACING=0>
<!--DWLayoutTable-->
<TR>
<TD COLSPAN=3> <IMG SRC="caterimagen/caterpillar_01.jpg" WIDTH=797 HEIGHT=159 ALT=""></TD>
</TR>
<TR>
<TD COLSPAN=3> <IMG SRC="caterimagen/caterpillar_02.jpg" WIDTH=797 HEIGHT=14 ALT=""></TD>
</TR>
<TR>
<TD ROWSPAN=2> <IMG SRC="caterimagen/caterpillar_03.jpg" WIDTH=33 HEIGHT=427 ALT=""></TD>
<TD width="725" height="399" valign="top"><table width="100%" border="0" cellpadding="0" cellspacing="0">
<!--DWLayoutTable-->
<tr>
<TD width="725" height="399" valign="top">
<div align="center">
<table width="75%" border="0">
<tr>
<td width="89%"><div align="center"><font color="#FFFF00" face="Arial, Helvetica, sans-serif"><strong><u>RESULTADO
DE SU BUSQUEDA </u></strong> </font></div></td>
<td width="11%">
<%
Dim oConn, rs, SQL, cuenta, categoria


Set oConn = Server.CreateObject("ADODB.Connection")
set rs=Server.CreateObject("ADODB.Recordset")

oConn.open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source= " & Server.MapPath("ejemplo.mdb")&" ; Jet OLEDB:Database Password=741"
SQL="SELECT P.*,C.NomCategoria FROM Productos AS P,Categorias AS C WHERE P.Categoria=C.idCategoria AND P.IdProducto="&Request.Form("Productos")
rs.Open SQL, oConn
%>
</td>
</tr>
</table>

</div>
<div align="center">
<table width="90%" height="52" border="1" cellpadding="0" cellspacing="0" bordercolor="#CC9900">
<tr>
<td><div align="center">
<table width="649" bordercolor="#FF0000" >
<tr>
<td width="641"><strong><font face="Arial, Helvetica, sans-serif">Marca
</font></strong><font face="Arial, Helvetica, sans-serif">:
<font color="#FF0000" size="+1"><strong><%=rs("NomCategoria")%></strong></font></font></td>
</tr>
<tr>
<td><strong><font face="Arial, Helvetica, sans-serif">Modelo:</font></strong>
<font color="#FF0000" size="+1" face="Arial, Helvetica, sans-serif"><strong><%=rs("nombre")%></strong></font></td>
</tr>
<tr>
<td><strong><font face="Arial, Helvetica, sans-serif">Serie:</font></strong>
<font color="#FF0000" size="+1" face="Arial, Helvetica, sans-serif"><strong><%=rs("serie")%></strong></font></td>
</tr>
<tr>
<td><strong><font face="Arial, Helvetica, sans-serif">Motor:</font></strong>
<font color="#FF0000" size="+1" face="Arial, Helvetica, sans-serif"><strong><%=rs("motor")%></strong></font></td>
</tr>
<tr>
<td><strong><font face="Arial, Helvetica, sans-serif">A&ntilde;o</font></strong><font face="Arial, Helvetica, sans-serif">:
<font color="#FF0000" size="+1"><strong><%=rs("año")%></strong></font></font></td>
</tr>
<tr>
<td><strong><font face="Arial, Helvetica, sans-serif">Aire:</font></strong>
<font color="#FF0000" size="+1" face="Arial, Helvetica, sans-serif"><strong><%=rs("aire")%></strong></font></td>
</tr>
<tr>
<td><strong><font face="Arial, Helvetica, sans-serif">Aceite:</font></strong>
<font color="#FF0000" size="+1" face="Arial, Helvetica, sans-serif"><strong><%=rs("aceite")%></strong></font></td>
</tr>
<tr>
<td><strong><font face="Arial, Helvetica, sans-serif">Combustible:</font></strong>
<font color="#FF0000" size="+1" face="Arial, Helvetica, sans-serif"><strong><%=rs("combustible")%></strong></font></td>
</tr>
<tr>
<td><strong><font face="Arial, Helvetica, sans-serif">Otros:
</font></strong><font color="#FF0000" size="+1" face="Arial, Helvetica, sans-serif"><strong><%=rs("otros")%> </strong></font></td>
</tr>
</table>
</div></td>
</tr>
</table>
</div>
<p align="center"><font size="+1" face="Arial, Helvetica, sans-serif"><strong>
<input type="button" name="Button" value="Regresar" onclick="javascript:history.back();">
<br>
<font size="+1" face="Arial, Helvetica, sans-serif"><br>
<u>Referencias :</u> <font color="#FFFFFF" size="-1">HD: Direcci&ograve;n
Hidr&agrave;ulica - HG: Engranaje Hidr&agrave;ulico - TC: Trampa
de combustible - SA : separador de agua - H: Sistemas Hidr&agrave;ulicos-
TH Y T : Transmisi&ograve;n Hidra&ugrave;lica DF:Circuito de Frenos</font></font><br>
</strong></font></p></TD>
</tr>
</table></TD>
<TD ROWSPAN=2> <IMG SRC="caterimagen/caterpillar_05.jpg" WIDTH=39 HEIGHT=427 ALT=""></TD>
</TR>
<TR>
<TD> <IMG SRC="caterimagen/caterpillar_06.jpg" WIDTH=725 HEIGHT=28 ALT=""></TD>
</TR>
</TABLE>
</div>
</BODY>
</HTML>
  #16 (permalink)  
Antiguo 28/02/2009, 07:11
(Desactivado)
 
Fecha de Ingreso: agosto-2002
Mensajes: 1.458
Antigüedad: 22 años, 3 meses
Puntos: 0
Respuesta: 3 combobox dependientes

Ese codigo lo usaba con dos combobox , no es de tres, este era el que recibia la informacion segun los combox ahora no se como adpatarlo a los tres- SALUDOS
  #17 (permalink)  
Antiguo 01/03/2009, 08:24
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 10 meses
Puntos: 126
Respuesta: 3 combobox dependientes

Hola

Realmente no entiendo cual es el problema

+ ¿No sabes adaptar la consulta a 3 valores?
+ ¿No sabes como hacer la consulta en caso que recibas 1 ó 2 valores vácios?

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;" />
  #18 (permalink)  
Antiguo 01/03/2009, 10:47
(Desactivado)
 
Fecha de Ingreso: agosto-2002
Mensajes: 1.458
Antigüedad: 22 años, 3 meses
Puntos: 0
Respuesta: 3 combobox dependientes

Cita:
Iniciado por Adler Ver Mensaje
Hola

Realmente no entiendo cual es el problema

+ ¿No sabes adaptar la consulta a 3 valores?
+ ¿No sabes como hacer la consulta en caso que recibas 1 ó 2 valores vácios?

Suerte
El problema es que no se programacion y estoy desesperado por un codigo que haga esto ya que estoy sin empleo y trato de hacer algo para poder subsistir , no vendiendo el codigo sino adaptando este a un catalogo de cosas que quiero vender , perdon si te moleste . y gracias de todos modos , DIOS TE BENDIGA
  #19 (permalink)  
Antiguo 01/03/2009, 13:33
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 10 meses
Puntos: 126
Respuesta: 3 combobox dependientes

Hola

Cita:
Iniciado por hugorei Ver Mensaje
El problema es que no se programacion y estoy desesperado por un codigo que haga esto ya que estoy sin empleo y trato de hacer algo para poder subsistir , no vendiendo el codigo sino adaptando este a un catalogo de cosas que quiero vender , perdon si te moleste . y gracias de todos modos , DIOS TE BENDIGA


hugorei no me ofendistes, solo te expliqué que a mi entender los mensajes internos no sirven para el propósito que le distes y que no hay que exigir que se te responda.

Una vez aclarado esto, te vuelvo ha hacer las mismas preguntas

+ ¿No sabes adaptar la consulta a 3 valores?
+ ¿No sabes como hacer la consulta en caso que recibas 1 ó 2 valores vacíos?

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;" />
  #20 (permalink)  
Antiguo 01/03/2009, 17:30
(Desactivado)
 
Fecha de Ingreso: agosto-2002
Mensajes: 1.458
Antigüedad: 22 años, 3 meses
Puntos: 0
Respuesta: 3 combobox dependientes

Cita:
Iniciado por Adler Ver Mensaje
Hola



hugorei no me ofendistes, solo te expliqué que a mi entender los mensajes internos no sirven para el propósito que le distes y que no hay que exigir que se te responda.

Una vez aclarado esto, te vuelvo ha hacer las mismas preguntas

+ ¿No sabes adaptar la consulta a 3 valores?
+ ¿No sabes como hacer la consulta en caso que recibas 1 ó 2 valores vacíos?

Suerte

No se adaptar la consulta a 3 valores
  #21 (permalink)  
Antiguo 02/03/2009, 07:27
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 10 meses
Puntos: 126
Respuesta: 3 combobox dependientes

Hola

Recoges los valores

Código asp:
Ver original
  1. comb1 = CStr(Request.Form("modelo"))
  2. comb2  = CStr(Request.Form("marca"))
  3. comb3 = CStr(Request.Form("color"))

Ahora con ellos haces el filtrado

Código sql:
Ver original
  1. SQL="SELECT P.*,C.NomCategoria FROM Productos AS P,Categorias AS C WHERE P.Categoria=C.idCategoria AND P.IdProducto="&Request.Form("Productos") AND campo = '"&comb1&"' AND campo2 = '"&comb2&"' AND campo3 = '"&comb3&"'

¿Es esto?

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;" />
  #22 (permalink)  
Antiguo 15/03/2009, 10:27
(Desactivado)
 
Fecha de Ingreso: agosto-2002
Mensajes: 1.458
Antigüedad: 22 años, 3 meses
Puntos: 0
Respuesta: 3 combobox dependientes

Cita:
Iniciado por Adler Ver Mensaje
Hola

Recoges los valores

Código asp:
Ver original
  1. comb1 = CStr(Request.Form("modelo"))
  2. comb2  = CStr(Request.Form("marca"))
  3. comb3 = CStr(Request.Form("color"))

Ahora con ellos haces el filtrado

Código sql:
Ver original
  1. SQL="SELECT P.*,C.NomCategoria FROM Productos AS P,Categorias AS C WHERE P.Categoria=C.idCategoria AND P.IdProducto="&Request.Form("Productos") AND campo = '"&comb1&"' AND campo2 = '"&comb2&"' AND campo3 = '"&comb3&"'

¿Es esto?

Suerte
Es basicamente eso pero por favor como se adaptaria al ejemplo que diste , por que aca hablar de Categorias , Poductos , pero no me coincide con el ejemplo de Poblaciones, entonces no entiendo cuando hablar de Porductos y Categorias si haces mencion a dos tablas dinstintas, desde ya gracias, si podes ejemplificamelo con el codigo que pusiste de Poblaciones ¿ como seria ?


ESTA SENTENCIA NO ENTIENDO COMO FUNCIONA :

SQL="SELECT P.*,C.NomCategoria FROM Productos AS P,Categorias AS C WHERE P.Categoria=C.idCategoria AND P.IdProducto="&Request.Form("Productos") AND campo = '"&comb1&"' AND campo2 = '"&comb2&"' AND campo3 = '"&comb3&"'

Última edición por hugorei; 15/03/2009 a las 13:06
  #23 (permalink)  
Antiguo 19/03/2009, 20:10
(Desactivado)
 
Fecha de Ingreso: agosto-2002
Mensajes: 1.458
Antigüedad: 22 años, 3 meses
Puntos: 0
Respuesta: 3 combobox dependientes

por favor alguien que me ayude con este tema.

GRACIAAS
  #24 (permalink)  
Antiguo 19/03/2009, 20:40
Avatar de Shiryu_Libra
Colaborador
 
Fecha de Ingreso: febrero-2007
Ubicación: Cantando "Screenager" en "Kirafa Kaput"
Mensajes: 3.614
Antigüedad: 17 años, 8 meses
Puntos: 88
Respuesta: 3 combobox dependientes

hola...

que es presisamente lo que no funciona del codigo de Adler ()?
__________________
"Eres parte del problema, parte de la solucion o parte del paisaje"
Un Saludo desde Desierto de Altar, Sonora, MX.
Shiryu_libra
  #25 (permalink)  
Antiguo 19/03/2009, 21:40
(Desactivado)
 
Fecha de Ingreso: agosto-2002
Mensajes: 1.458
Antigüedad: 22 años, 3 meses
Puntos: 0
Respuesta: 3 combobox dependientes

Cita:
Iniciado por Shiryu_Libra Ver Mensaje
hola...

que es presisamente lo que no funciona del codigo de Adler ()?
El codigo funciona bien , lo que no se como hacer es un submit que me permita al hacer click mostrar los datos de todo el ID segun los codigos de los combobox , no se hacer la setencia SQL que me filtre de acuerdo a los combobox seleccionado por el usuario.

GRACIAS POR INTERESARTE
  #26 (permalink)  
Antiguo 21/03/2009, 12:27
(Desactivado)
 
Fecha de Ingreso: agosto-2002
Mensajes: 1.458
Antigüedad: 22 años, 3 meses
Puntos: 0
Respuesta: 3 combobox dependientes

cierren el tema ya me doy por vencido , esto no va ni para atras ni para adelante voy a ver si invento algo con el aspMAKER .
  #27 (permalink)  
Antiguo 23/03/2009, 08:27
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 9 meses
Puntos: 146
Respuesta: 3 combobox dependientes

En caridad de Dios!!!

Por fin algo congruente!!

Cerrado
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.
Tema Cerrado




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