![]() |
recordset en bucle Hola, estoy un poco atascada. Tengo un recordset dentro de un while y dentro del while un for. Necesito escribir lo q tngo en el recordset pero no se como hacer referencia a cada uno de los campos por cada indice. Lo q me interesa esta al final del codigo, donde rellena la tabla (escrita en la pagina) con los datos del recordset. While (Not rs2.eof And registros_mostrados < num_registros) registros_mostrados = registros_mostrados +1 contador =1 Response.Write("<TR height='"&"5"&"'>") for I=2 to rs2.Fields.Count-1 if idUsuario = 3 and contador =1 then response.write "<TD align='center' width='26'><INPUT TYPE='button' value=' ' class='BotonDocumentacion' onclick='DetalleDocumentacionEmpresa("&rs2.Fields( "idEmpresa") &")'></td>" response.write "<TD align='center' width='26'><INPUT TYPE='button' value=' ' class='BotonEditar' onclick='DetalleEmpresa("&rs2.Fields("idEmpresa")& ")'></td>" elseif contador =1 then activo="enabled" for J=2 to rs2.Fields.Count-1 if (rs2.Fields(J).Value = "") or (rs2.Fields("Creada")=False) then activo="disabled" end if next response.write "<TD align='center' width='26'><INPUT TYPE='button' "& activo &" value=' ' class='BotonDocumentacion' onclick='DetalleDocumentacionEmpresa("&rs2.Fields( "idEmpresa") &")'></td>" response.write "<TD align='center' width='26'><INPUT TYPE='button' value=' ' class='BotonEditar' onclick='DetalleEmpresa("&rs2.Fields("idEmpresa")& ")'></td>" end if contador = contador +1 rellena la tabla con los datos del recordset Response.Write("<TD align='"&"center"&"' bgcolor="&"white"&"><H1 > "&rs2.Fields(I)&"</H1></TD>") next Kiero hacer q el tercer campo del recorset sea un link, y eso x kada indice. Por cada fila de la tabla, el tercer campo q es la empresa sea un link xra poder entrar a los datos de esa empresa. Espero haberme explicado bien, necesito ayuda urgente, no se q hacer ya. Gracais |
Respuesta: recordset en bucle :pensando: en cualquiera de los escenarios, trae datos para evaluar? podrias mostrar el codigo antes del Cita:
Cita:
ahora si no te crea el link dentro del for, es por error de validacion en los IF.... en mi caso, empezaria por esta parte :pensando: |
Respuesta: recordset en bucle <!-- #include file="../includes/autentificar.asp" --> <!-- #include file="../includes/conexion.asp" --> <%'actualizamos numero de pagina If Request.QueryString("pag")<>"" Then Session("pagina")=Request.QueryString("pag") Else Session("pagina")=1 End If session("idEmpresa")=0 %> <%idUsuario=session("idUsuario")%> <link rel="STYLESHEET" type="text/css" href="includes/estilo.css"> <script language="JavaScript"> function abrirVentana(varia) { if (varia == "emp") { MiVentana=open("NuevoUsuario.asp?varia=emp","Venta na","width=300,height=300,left=200,top=200,scrollb ars=yes,toolbar=no,menubar=no,directories=no,statu s=no,resizable=no"); } else { MiVentana=open("NuevoUsuario.asp","Ventana","width =300,height=300,left=200,top=200,scrollbars=yes,to olbar=no,menubar=no,directories=no,status=no,resiz able=no"); } } function DetalleEmpresa(idEmpresa) { MiVentana=open("DetalleEmpresa.asp?idEmpresa="+idE mpresa, target="_self"); } function DetalleDocumentacionEmpresa(idEmpresa) { MiVentana=open("DetalleDocumentacionEmpresa.asp?id Empresa="+idEmpresa, target="_self"); } </script> <html> <head> <title>Menu Principal</title> </head> <body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0"> <FORM name="formularioEmpresa"ACTION="DetalleEmpresa.asp " METHOD="post"> <table width="100%" height="100%" border="0" cellpadding="0" cellspacing="0"> <tr> <!-- la imagen es un link al menu principal --> <td width="133" bgcolor="cc6633"><a href="MenuPrincipal.asp"><img src="../img/Aplica.jpg" width="133" height="55" border="0"></a></td> <td bgcolor="cc6633" height="55"> <% if idUsuario <> 3 then ' si no es administrador ( 3 es el admin ) sqltxt="SELECT * FROM Empresas where idUsuario=" & idUsuario else ' el idusuario es el admin sqltxt="SELECT * FROM Empresas order by EmprSub, idEmpresa" end if set rs=createobject("ADODB.Recordset") %> <%rs.open sqltxt,conn%> </td> </tr> <tr height="25"> <td align="center" colspan="2"> <% if idUsuario <> 3 then ' si no es administrador ( 3 es el admin ) response.write "<H2><a href="&"javascript:abrirVentana('emp')"&">Nueva Empresa</a></H2>" else response.write "<H2><a href="&"javascript:abrirVentana('usu')"&">Nuevo Usuario</a></H2>" end if%> </td> </tr> <tr> <td> <!-- aceeso directo a la pagina documentacion general necesaria de todas empresas --> <a href="DocumentacionGeneral.asp"><img border="none" src="../img/IconoDocumentacion.gif"> Documentacion General Empresas </a><br><br> </td> </tr> <tr> <td align="center" valign="top" colspan="2"> <table width="100%" height="100%" border="0" cellpadding="0" cellspacing="0"> <tr height="80"> <td valign="top"> <table width="100%" border="1" cellpadding="0" cellspacing="0"> <tr><td bgcolor="white"> </td><td><H1>COMPLETA (empresa, subcontratas de esta si procede y empleados con todos los documentos</H1></td></tr> <tr><td bgcolor="orange"> </td><td><H1>INCOMPLETA (faltan documentos o existen documentos caducados o nulos)</H1></td></tr> <tr><td bgcolor="red"> </td><td><H1>BORRADA (empresa anulada bloqueada)</H1></td></tr> </table> </td> </tr> <tr><td vALIGN="top"><table width="100%" height="300" cellpadding="0" cellspacing="0" border="1"> <% 'resultados q muestra por pagina, se puede variar aqui, en este caso queremos ver de 15 en 15 num_registros = 15 %> <%set rs2=createobject("ADODB.Recordset") rs2.Open sqltxt,conn, 1,2 if not rs2.eof then 'Dimensionamos las paginas rs2.PageSize=num_registros 'determinamos la pagina actual rs2.AbsolutePage=Session("pagina") Response.Write("<TR height='"&"10"&"'>") ' Recorremos los nombres de los campos. Restamos uno porque los índices empiezan en 0 ' response.write "<TD>" Response.Write("<TD align='center' bgcolor='ccdxd9'><H1>Doc</H1></TD>") Response.Write("<TD align='center' bgcolor='ccdxd9'><H1>Edit</H1></TD>") Response.Write("<TD align='center' bgcolor='ccdxd9'><H1>Empl</H1></TD>") for I=2 to rs2.Fields.Count-1 ' empieza en 2 el for xq la pos 0 y la pos 1 q escribe en la tabla son la Documentacion y el editar ' escribe los nombres de las columnas Response.Write("<TD align='center' bgcolor='ccdxd9'><H1>"&rs2.Fields(I).Name&"</H1></TD>") next end if ' Ahora recorremos el recordset creando una fila nueva por cada registro While (Not rs2.eof And registros_mostrados < num_registros) registros_mostrados = registros_mostrados +1 contador =1 Response.Write("<TR height='"&"5"&"'>") for I=2 to rs2.Fields.Count-1 if idUsuario = 3 and contador =1 then response.write "<TD align='center' width='26'><INPUT TYPE='button' value=' ' class='BotonDocumentacion' onclick='DetalleDocumentacionEmpresa("&rs2.Fields( "idEmpresa") &")'></td>" response.write "<TD align='center' width='26'><INPUT TYPE='button' value=' ' class='BotonEditar' onclick='DetalleEmpresa("&rs2.Fields("idEmpresa")& ")'></td>" elseif contador =1 then activo="enabled" for J=2 to rs2.Fields.Count-1 if (rs2.Fields(J).Value = "") or (rs2.Fields("Creada")=False) then activo="disabled" end if next response.write "<TD align='center' width='26'><INPUT TYPE='button' "& activo &" value=' ' class='BotonDocumentacion' onclick='DetalleDocumentacionEmpresa("&rs2.Fields( "idEmpresa") &")'></td>" response.write "<TD align='center' width='26'><INPUT TYPE='button' value=' ' class='BotonEditar' onclick='DetalleEmpresa("&rs2.Fields("idEmpresa")& ")'></td>" end if contador = contador +1 rellena la tabla con los datos del recordset Response.Write("<TD align='"&"center"&"' bgcolor="&"white"&"><H1 > "&rs2.Fields(I)&"</H1></TD>") next |
| La zona horaria es GMT -6. Ahora son las 04:58. |
Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.