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

Por favor ayuda para terminar de codificar un CICLO ANIDADO utilizando 2 tablas

Estas en el tema de Por favor ayuda para terminar de codificar un CICLO ANIDADO utilizando 2 tablas en el foro de ASP Clásico en Foros del Web. Hola Amigos del foro, les pido de su valiosa ayuda para terminar de codificar un ciclo anidado Tratare de ser lo más especifica posible para ...
  #1 (permalink)  
Antiguo 23/03/2009, 10:27
Avatar de webbeginner  
Fecha de Ingreso: noviembre-2004
Mensajes: 241
Antigüedad: 20 años, 4 meses
Puntos: 2
Por favor ayuda para terminar de codificar un CICLO ANIDADO utilizando 2 tablas

Hola Amigos del foro, les pido de su valiosa ayuda para terminar de codificar un ciclo anidado

Tratare de ser lo más especifica posible para que me puedan ayudar porqyue no he logrado solucionar esto en ningun lado aunque todos dicen que es muy facil

Tengo el siguiente codigo en mi pagina

Código PHP:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<!--
#include file="Connections/conn_PMR2009.asp" -->
<%
'El Recordset para la consulta padre
Dim rsPadre
Dim rsPadre_cmd
Dim rsPadre_numFilas

Set rsPadre_cmd = Server.CreateObject ("ADODB.Command")
rsPadre_cmd.ActiveConnection = MM_conn_PMR2009_STRING
rsPadre_cmd.CommandText = "SELECT Tra_ID,   Tra_NoModalidad,   Tra_HomoclaveGeneral as clave,   Tra_HomoclaveModalidad,   Tra_Nombre,   Tra_NombreModalidad FROM dbo.Tramite t WHERE t.Tra_NoModalidadTmp in (0,1) AND dep_ID = 100" 
rsPadre_cmd.Prepared = true

Set rsPadre = rsPadre_cmd.Execute
rsPadre_numFilas = 0
%>
<%
'
El Recordset para la consulta hijo
Dim rshijos
Dim rshijos_cmd
Dim rshijos_numRows

Set rshijos_cmd 
Server.CreateObject ("ADODB.Command")
rshijos_cmd.ActiveConnection MM_conn_PMR2009_STRING
rshijos_cmd
.CommandText "SELECT Tra_ID,   Tra_NoModalidad as cveSec,   Tra_HomoclaveGeneral as clave,   Tra_HomoclaveModalidad,   Tra_Nombre,   Tra_NombreModalidad FROM dbo.Tramite t WHERE t.Tra_NoModalidadTmp > 0 AND Dep_ID =100" 
rshijos_cmd.Prepared true

Set rshijos 
rshijos_cmd.Execute
rshijos_numRows 
0
%>
<%
Dim Ciclo1_numFilas
Dim Ciclo1_indice

Ciclo1_numFilas 
10
Ciclo1_indice 
0
rsPadre_numFilas 
rsPadre_numFilas Ciclo1_numFilas
%>
<%
Dim Ciclo2_numFilas
Dim Ciclo2_indice

Ciclo2_numFilas 
10
Ciclo2_indice 
0
rshijos_numRows 
rshijos_numRows Ciclo2_numFilas
%>
<!
DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<
html xmlns="http://www.w3.org/1999/xhtml">
<
head>
<
meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<
title>Documento sin t&iacute;tulo</title>
<
link href="extras/Estilos.css" rel="stylesheet" type="text/css" />
</
head>

<
body>
<!-- 
Muestro la tabla con los padre -->
<
table width="296" border="1">
  <
tr>
    <
td width="134" class="LigasGral">M_Id</td>
    <
td width="146" class="LigasGral">Clave</td>
  </
tr>
  <% While ((
NOT rsPadre.EOF) AND(Ciclo1_numFilas <> 0)) %>
    <
tr>
      <
td class="LigasGral"><%=(rsPadre.Fields.Item("Tra_ID").Value)%></td>
      <
td class="LigasGral"><%=(rsPadre.Fields.Item("clave").Value)%></td>
    </
tr>
    <% 
  
Ciclo1_indice=Ciclo1_indice+1
  Ciclo1_numFilas
=Ciclo1_numFilas-1
  rsPadre
.MoveNext()
Wend
%>
</
table>
<
p>&nbsp;</p>
<
class="NivelPagina"> ************************************************************************************************</p>
<
p>&nbsp;</p>
<!-- 
Muestro la tabla con los hijos -->
<
table border="1">
  <
tr>
    <
td class="CeldaGridDet">M_ID</td>
    <
td class="CeldaGridDet">cveSec</td>
    <
td class="CeldaGridDet">Clave</td>
    <
td class="CeldaGridDet">&nbsp;</td>
  </
tr>
  <% While ((
NOT rshijos.EOF) AND (Ciclo2_numFilas <> 0)) %>
    <
tr>
      <
td class="CeldaGridDet"><%=(rshijos.Fields.Item("Tra_ID").Value)%></td>
      <
td class="CeldaGridDet"><%=(rshijos.Fields.Item("cveSec").Value)%></td>
      <
td class="CeldaGridDet"><%=(rshijos.Fields.Item("clave").Value)%></td>
      <
td class="CeldaGridDet">&nbsp;</td>
    </
tr>
  <% 
  
Ciclo2_indice=Ciclo2_indice+1
  Ciclo2_numFilas
=Ciclo2_numFilas-1
  rshijos
.MoveNext()
Wend
%>
</
table>
</
body>
</
html>
<%
rsPadre.Close()
Set rsPadre Nothing
%>
<%
rshijos.Close()
Set rshijos Nothing
%> 
El resultado de este código es que me muestra por separado el contenido de 2 tablas

El padre así:


El hijo así:




Y lo que necesito es, que cuando se arrojen resultados de la consulta hijo, estos sean "embebidos" en la consulta padre y se muestren así:





El campo con el que se pueden unir es el m_ID (Tra_ID en la Base de datos), pero no tengo idea de como hacerlo, podrian ayudarme por favor ? mi experiencia con ASP es muy poquita

Muchisimas gracias de antemano
__________________
************************
"La bondad es simple; la maldad, múltiple"
  #2 (permalink)  
Antiguo 23/03/2009, 10:53
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 23 años, 2 meses
Puntos: 146
Respuesta: Por favor ayuda para terminar de codificar un CICLO ANIDADO utilizando 2 t

La forma más sencillas es tener las dos consultas que realizas de forma anidada, donde por cada Id_Padre que lees ejecutas la segunda consulta pero colocando en la cláusula WHERE una condición para que te regrese los registros correspondientes a ese ID.

Otras es relacionar ambas tablas y cuando recorras un único RS vayas controlando cuando el ID_padre cambie, pero si son pocos los registros padres que esperas obtener, la primer opción te funcionará.

Si tienes problemas con el código, comenta y hacemos algo

saludos
  #3 (permalink)  
Antiguo 23/03/2009, 12:00
Avatar de webbeginner  
Fecha de Ingreso: noviembre-2004
Mensajes: 241
Antigüedad: 20 años, 4 meses
Puntos: 2
Respuesta: Por favor ayuda para terminar de codificar un CICLO ANIDADO utilizando 2 t

Hola Myakire, muchas gracias por responder

Fijate que intenté esto considerando tu primera solución pero creo falta algo más,


Código PHP:
<table width="296" border="1">
  <
tr>
    <
td width="134" class="LigasGral">M_Id</td>
    <
td width="146" class="LigasGral">Clave</td>
  </
tr>
  <% While ((
NOT rsPadre.EOF) AND(Ciclo1_numFilas <> 0)) %>
    <
tr>
      <
td class="LigasGral"><%=(rsPadre.Fields.Item("Tra_ID").Value)%></td>
      <
td class="LigasGral"><%=(rsPadre.Fields.Item("clave").Value)%></td>
    </
tr>
    <
tr>
      <
td colspan="2" class="LigasGral">
      
      <
table border="1">
  <
tr>
    <
td class="CeldaGridDet">M_ID</td>
    <
td class="CeldaGridDet">cveSec</td>
    <
td class="CeldaGridDet">Clave</td>
    <
td class="CeldaGridDet">&nbsp;</td>
  </
tr>
  <% While ((
NOT rshijos.EOF) AND (Ciclo2_numFilas <> 0)) %>
    <
tr>
      <
td class="CeldaGridDet"><%=(rshijos.Fields.Item("Tra_ID").Value)%></td>
      <
td class="CeldaGridDet"><%=(rshijos.Fields.Item("cveSec").Value)%></td>
      <
td class="CeldaGridDet"><%=(rshijos.Fields.Item("clave").Value)%></td>
      <
td class="CeldaGridDet">&nbsp;</td>
    </
tr>
  <% 
  
Ciclo2_indice=Ciclo2_indice+1
  Ciclo2_numFilas
=Ciclo2_numFilas-1
  rshijos
.MoveNext()
Wend
%>
</
table>
      
      
      </
td>
    </
tr>
    <% 
  
Ciclo1_indice=Ciclo1_indice+1
  Ciclo1_numFilas
=Ciclo1_numFilas-1
  rsPadre
.MoveNext()
Wend
%>
</
table
pero me muestra esto



creo q me falta condicionar en base al ID pero no doy como y ya hice un 'batidillo' de código, y no me funciona como lo quiero

ME podrían ayudar con el código?


GRACIAS !!!!!!!!!!!!!!!!!!!!
__________________
************************
"La bondad es simple; la maldad, múltiple"
  #4 (permalink)  
Antiguo 23/03/2009, 13:15
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 23 años, 2 meses
Puntos: 146
Respuesta: Por favor ayuda para terminar de codificar un CICLO ANIDADO utilizando 2 t

La idea sería algo como esto:
Código ASP:
Ver original
  1. <%
  2. Set rsPadre_cmd = Server.CreateObject ("ADODB.Command")
  3. rsPadre_cmd.ActiveConnection = MM_conn_PMR2009_STRING
  4. rsPadre_cmd.CommandText = "SELECT Tra_ID,   Tra_NoModalidad,   Tra_HomoclaveGeneral as clave,   Tra_HomoclaveModalidad,   Tra_Nombre,   Tra_NombreModalidad FROM dbo.Tramite t WHERE t.Tra_NoModalidadTmp in (0,1) AND dep_ID = 100"
  5. rsPadre_cmd.Prepared = true
  6. Set rsPadre = rsPadre_cmd.Execute
  7. %>
  8. <table width="296" border="1">
  9.   <tr>
  10.     <td width="134" class="LigasGral">M_Id</td>
  11.     <td width="146" class="LigasGral">Clave</td>
  12.   </tr>
  13.   <% While (NOT rsPadre.EOF)  %>
  14.     <tr>
  15.       <td class="LigasGral"><%=(rsPadre.Fields.Item("Tra_ID").Value)%></td>
  16.       <td class="LigasGral"><%=(rsPadre.Fields.Item("clave").Value)%></td>
  17.     </tr>
  18.         <TR COLSPAN="2">
  19.             <%
  20.        vSQL = "SELECT Tra_ID, Tra_NoModalidad as cveSec, Tra_HomoclaveGeneral as clave, Tra_HomoclaveModalidad, " &_
  21.                     "       Tra_Nombre, Tra_NombreModalidad FROM dbo.Tramite t WHERE t.Tra_NoModalidadTmp > 0 AND Dep_ID =100 " &_
  22.                             "       AND Tra_ID = " & rsPadre.Fields.Item("Tra_ID").Value  
  23.        Set rshijos.Open vSQL
  24.             %>
  25.       <table border="1">
  26.           <tr>
  27.             <td class="CeldaGridDet">M_ID</td>
  28.             <td class="CeldaGridDet">cveSec</td>
  29.             <td class="CeldaGridDet">Clave</td>
  30.             <td class="CeldaGridDet">&nbsp;</td>
  31.           </tr>
  32.           <% While (NOT rshijos.EOF)  %>
  33.             <tr>
  34.               <td class="CeldaGridDet"><%=(rshijos.Fields.Item("Tra_ID").Value)%></td>
  35.               <td class="CeldaGridDet"><%=(rshijos.Fields.Item("cveSec").Value)%></td>
  36.               <td class="CeldaGridDet"><%=(rshijos.Fields.Item("clave").Value)%></td>
  37.               <td class="CeldaGridDet">&nbsp;</td>
  38.             </tr>
  39.           <%
  40.           rshijos.MoveNext()
  41.         Wend
  42.                 rshijos.Close
  43.         %>
  44.     </table>
  45.     <%
  46.   rsPadre.MoveNext()
  47. Wend
  48. %>

Revísalo y dinos si hay algo que no funcione

Saludos
  #5 (permalink)  
Antiguo 23/03/2009, 16:53
Avatar de webbeginner  
Fecha de Ingreso: noviembre-2004
Mensajes: 241
Antigüedad: 20 años, 4 meses
Puntos: 2
Respuesta: Por favor ayuda para terminar de codificar un CICLO ANIDADO utilizando 2 t

En verdad agradezco tu ayuda

mira lo coloque de esta forma

Código PHP:
<&#37;
Set rsPadre_cmd Server.CreateObject ("ADODB.Command")
rsPadre_cmd.ActiveConnection MM_conn_PMR2009_STRING
rsPadre_cmd
.CommandText "SELECT Tra_ID,   Tra_NoModalidad,   Tra_HomoclaveGeneral as clave,   Tra_HomoclaveModalidad,   Tra_Nombre,   Tra_NombreModalidad FROM dbo.Tramite t WHERE t.Tra_NoModalidadTmp in (0,1) AND dep_ID = 100" 
rsPadre_cmd.Prepared true
Set rsPadre 
rsPadre_cmd.Execute
%>
<
table width="296" border="1">
  <
tr>
    <
td width="134" class="LigasGral">M_Id</td>
    <
td width="146" class="LigasGral">Clave</td>
  </
tr>
  <% While (
NOT rsPadre.EOF)  %>
    <
tr>
      <
td class="LigasGral"><%=(rsPadre.Fields.Item("Tra_ID").Value)%></td>
      <
td class="LigasGral"><%=(rsPadre.Fields.Item("clave").Value)%></td>
    </
tr>
        <
TR COLSPAN="2">
            <%
       
vSQL "SELECT Tra_ID, Tra_NoModalidad as cveSec, Tra_HomoclaveGeneral as clave, Tra_HomoclaveModalidad, " &_
                    
"       Tra_Nombre, Tra_NombreModalidad FROM dbo.Tramite t WHERE t.Tra_NoModalidadTmp > 0 AND Dep_ID =100 " &_
                            
"       AND Tra_ID = " rsPadre.Fields.Item("Tra_ID").Value  
       Set rshijos
.Open vSQL
            
%>
      <
table border="1">
          <
tr>
            <
td class="CeldaGridDet">M_ID</td>
            <
td class="CeldaGridDet">cveSec</td>
            <
td class="CeldaGridDet">Clave</td>
            <
td class="CeldaGridDet">&nbsp;</td>
          </
tr>
          <% While (
NOT rshijos.EOF)  %>
            <
tr>
              <
td class="CeldaGridDet"><%=(rshijos.Fields.Item("Tra_ID").Value)%></td>
              <
td class="CeldaGridDet"><%=(rshijos.Fields.Item("cveSec").Value)%></td>
              <
td class="CeldaGridDet"><%=(rshijos.Fields.Item("clave").Value)%></td>
              <
td class="CeldaGridDet">&nbsp;</td>
            </
tr>
          <% 
          
rshijos.MoveNext()
        
Wend
                rshijos
.Close
        
%>

    <% 
  
rsPadre.MoveNext()
Wend
%>
    </
table>
<
p>&nbsp;</p>
<
class="NivelPagina"> ************************************************************************************************</p>
<
p>&nbsp;</p>
<!-- 
Muestro la tabla con los hijos -->

</
body>
</
html>
<%
rsPadre.Close()
Set rsPadre Nothing
%>
<%
rshijos.Close()
Set rshijos Nothing
%> 

Y me sale este error:

Código:
Error de compilación de Microsoft VBScript (0x800A03F3)
Se esperaba '='
/Pruebas-3.asp, línea 23, columna 17
Set rshijos.Open vSQL
----------------^
y si le pongo '=' en donde lo sugiere me aparece este otro error

Código:
Tipo de error:
ADODB.Command (0x800A0BB9)
Argumentos incorrectos, fuera del intervalo permitido o en conflicto con otros.
/Pruebas-3.asp, línea 3
que será?

Saludos!
__________________
************************
"La bondad es simple; la maldad, múltiple"
  #6 (permalink)  
Antiguo 23/03/2009, 17:05
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 23 años, 2 meses
Puntos: 146
Respuesta: Por favor ayuda para terminar de codificar un CICLO ANIDADO utilizando 2 t

ups!

Bueno, la verdad es que solo tomé tu primer código y lo empecé a modificar en el mismo cuadro de respuesta rápida, ese fue un error mio al colocar por inercia algo referente a un RecordSet.

En tu caso, lo más sencillo (quizá no es lo mejor pero si lo más sencillo) seria colocar en lugar de esa linea algo como esto:

Código ASP:
Ver original
  1. Set rshijos_cmd = Server.CreateObject ("ADODB.Command")
  2. rshijos_cmd.ActiveConnection = MM_conn_PMR2009_STRING
  3. rshijos_cmd.CommandText = "SELECT Tra_ID, Tra_NoModalidad as cveSec, Tra_HomoclaveGeneral as clave, Tra_HomoclaveModalidad, " &_
  4.                     "       Tra_Nombre, Tra_NombreModalidad FROM dbo.Tramite t WHERE t.Tra_NoModalidadTmp > 0 AND Dep_ID =100 " &_
  5.                             "       AND Tra_ID = " & rsPadre.Fields.Item("Tra_ID").Value
  6. rshijos_cmd.Prepared = true
  7. Set rsPadre = rsPadre_cmd.Execute

y en lugar de rshijos.Close poner
Código ASP:
Ver original
  1. rshijos.Close()
  2. Set rshijos = Nothing

La idea era de que vieras y analizaras como se puede imprimir un Maestro-Detalle de una forma simple y rápida. Ahorita así como te puse que lo hicieras creas y destruyes por cada registro padre un objeto Command, esto te puede hacer un poco lento el proceso, ¿qué tanto? depende de registros maestro que tengas, hay otras formas de hacerlo pero esta es la más parecida a lo que ya tienes y no te implica conocer nada nuevo

Saludos
  #7 (permalink)  
Antiguo 23/03/2009, 18:59
Avatar de webbeginner  
Fecha de Ingreso: noviembre-2004
Mensajes: 241
Antigüedad: 20 años, 4 meses
Puntos: 2
Respuesta: Por favor ayuda para terminar de codificar un CICLO ANIDADO utilizando 2 t

qUE TAL Miyakire !

Gracias por tu tiempo y ayuda, fijate que ya casi queda, pero el hijo me lo está devolviendo solo para el primero y los demas no los toma en cuenta, mira aqui esta como me aparece:




Y este es el código como lo tengo actualmente


Código ASP:
Ver original
  1. <%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
  2. <!--#include file="Connections/conn_PMR2009.asp" -->
  3. <%
  4. 'El Recordset para la consulta padre
  5. Dim rsPadre
  6. Dim rsPadre_cmd
  7. Dim rsPadre_numFilas
  8.  
  9. Set rsPadre_cmd = Server.CreateObject ("ADODB.Command")
  10. rsPadre_cmd.ActiveConnection = MM_conn_PMR2009_STRING
  11. rsPadre_cmd.CommandText = "SELECT Tra_ID,   Tra_NoModalidad,   Tra_HomoclaveGeneral as clave,   Tra_HomoclaveModalidad,   Tra_Nombre,   Tra_NombreModalidad FROM dbo.Tramite t WHERE t.Tra_NoModalidadTmp in (0,1) AND dep_ID = 100"  
  12. rsPadre_cmd.Prepared = true
  13.  
  14. Set rsPadre = rsPadre_cmd.Execute
  15. rsPadre_numFilas = 0
  16. %>
  17. <%
  18. 'El Recordset para la consulta hijo
  19. Dim rshijos
  20. Dim rshijos_cmd
  21. Dim rshijos_numRows
  22.  
  23.  
  24. Set rshijos_cmd = Server.CreateObject ("ADODB.Command")
  25. rshijos_cmd.ActiveConnection = MM_conn_PMR2009_STRING
  26. rshijos_cmd.CommandText = "SELECT Tra_ID, Tra_NoModalidad as cveSec, Tra_HomoclaveGeneral as clave, Tra_HomoclaveModalidad, Tra_Nombre, Tra_NombreModalidad FROM dbo.Tramite t WHERE t.Tra_NoModalidadTmp > 0 AND Dep_ID =100 AND Tra_ID = " & rsPadre.Fields.Item("Tra_ID").Value
  27. rshijos_cmd.Prepared = true
  28.  
  29. 'Set rsPadre = rsPadre_cmd.Execute
  30.  
  31.  
  32. 'Set rshijos_cmd = Server.CreateObject ("ADODB.Command")
  33. 'rshijos_cmd.ActiveConnection = MM_conn_PMR2009_STRING
  34. 'rshijos_cmd.CommandText = "SELECT Tra_ID,   Tra_NoModalidad as cveSec,   Tra_HomoclaveGeneral as clave,   Tra_HomoclaveModalidad,   Tra_Nombre,   Tra_NombreModalidad 'FROM dbo.Tramite t WHERE t.Tra_NoModalidadTmp > 0 AND Dep_ID =100"  
  35. 'rshijos_cmd.Prepared = true
  36.  
  37. Set rshijos = rshijos_cmd.Execute
  38. rshijos_numRows = 0
  39. %>
  40. <%
  41. Dim Ciclo1_numFilas
  42. Dim Ciclo1_indice
  43.  
  44. Ciclo1_numFilas = 10
  45. Ciclo1_indice = 0
  46. rsPadre_numFilas = rsPadre_numFilas + Ciclo1_numFilas
  47. %>
  48. <%
  49. Dim Ciclo2_numFilas
  50. Dim Ciclo2_indice
  51.  
  52. Ciclo2_numFilas = 10
  53. Ciclo2_indice = 0
  54. rshijos_numRows = rshijos_numRows + Ciclo2_numFilas
  55. %>
  56. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  57. <html xmlns="http://www.w3.org/1999/xhtml">
  58. <head>
  59. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  60. <title>Documento sin t&iacute;tulo</title>
  61. <link href="extras/Estilos.css" rel="stylesheet" type="text/css" />
  62. </head>
  63.  
  64. <body>
  65. <!-- Muestro la tabla con los padre -->
  66. <table width="296" border="1">
  67.   <tr>
  68.     <td width="134" class="LigasGral">M_Id</td>
  69.     <td width="146" class="LigasGral">Clave</td>
  70.   </tr>
  71.   <% While ((NOT rsPadre.EOF) AND(Ciclo1_numFilas <> 0)) %>
  72.     <tr>
  73.       <td class="LigasGral"><%=(rsPadre.Fields.Item("Tra_ID").Value)%></td>
  74.       <td class="LigasGral"><%=(rsPadre.Fields.Item("clave").Value)%></td>
  75.     </tr>
  76.     <tr>
  77.       <td colspan="2" class="LigasGral">
  78.        
  79.       <table border="1">
  80.   <tr>
  81.     <td class="CeldaGridDet">M_ID</td>
  82.     <td class="CeldaGridDet">cveSec</td>
  83.     <td class="CeldaGridDet">Clave</td>
  84.     <td class="CeldaGridDet">&nbsp;</td>
  85.   </tr>
  86.   <% While ((NOT rshijos.EOF) AND (Ciclo2_numFilas <> 0)) %>
  87.     <tr>
  88.       <td class="CeldaGridDet"><%=(rshijos.Fields.Item("Tra_ID").Value)%></td>
  89.       <td class="CeldaGridDet"><%=(rshijos.Fields.Item("cveSec").Value)%></td>
  90.       <td class="CeldaGridDet"><%=(rshijos.Fields.Item("clave").Value)%></td>
  91.       <td class="CeldaGridDet">&nbsp;</td>
  92.     </tr>
  93.   <%  
  94.   Ciclo2_indice=Ciclo2_indice+1
  95.   Ciclo2_numFilas=Ciclo2_numFilas-1
  96.   rshijos.MoveNext()
  97. Wend
  98. %>
  99. </table>
  100.        
  101.        
  102.       </td>
  103.     </tr>
  104.     <%  
  105.   Ciclo1_indice=Ciclo1_indice+1
  106.   Ciclo1_numFilas=Ciclo1_numFilas-1
  107.   rsPadre.MoveNext()
  108. Wend
  109. %>
  110. </table>  
  111.  
  112. </body>
  113. </html>
  114. <%
  115. rsPadre.Close()
  116. Set rsPadre = Nothing
  117. %>
  118. <%
  119.  
  120. rshijos.Close()
  121. Set rshijos = Nothing
  122. %>


SALUDOS Y GRACIAS !
__________________
************************
"La bondad es simple; la maldad, múltiple"
  #8 (permalink)  
Antiguo 23/03/2009, 20:16
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 23 años, 2 meses
Puntos: 146
Respuesta: Por favor ayuda para terminar de codificar un CICLO ANIDADO utilizando 2 t

Es que sacaste el código que obtiene a los hijos del ciclo ...

Cita:
Set rshijos_cmd = Server.CreateObject ("ADODB.Command")
rshijos_cmd.ActiveConnection = MM_conn_PMR2009_STRING
rshijos_cmd.CommandText = "SELECT Tra_ID, Tra_NoModalidad as cveSec, Tra_HomoclaveGeneral as clave, Tra_HomoclaveModalidad, Tra_Nombre, Tra_NombreModalidad FROM dbo.Tramite t WHERE t.Tra_NoModalidadTmp > 0 AND Dep_ID =100 AND Tra_ID = " & rsPadre.Fields.Item("Tra_ID").Value
rshijos_cmd.Prepared = true
Set rshijos = rshijos_cmd.Execute

Eso debería estar arriba del WHILE que recorre al detalle

¿por qué lo hiciste? , si ves en los ejemplos que te he puesto la clave de esto esta en que por cada registro que se lea del padre se debe ejecutar la consulta que regrese a los hijos actualizando el ID correspondiente.
  #9 (permalink)  
Antiguo 24/03/2009, 12:41
Avatar de webbeginner  
Fecha de Ingreso: noviembre-2004
Mensajes: 241
Antigüedad: 20 años, 4 meses
Puntos: 2
Respuesta: Por favor ayuda para terminar de codificar un CICLO ANIDADO utilizando 2 t

Cierto, ya por fin funcionó .

Gracias Myakire por el tiempo y la paciencia.


SALUDOS !!!!!!!
__________________
************************
"La bondad es simple; la maldad, múltiple"
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 07:36.