Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   ASP Clásico (http://www.forosdelweb.com/f15/)
-   -   recordset en bucle (http://www.forosdelweb.com/f15/recordset-bucle-592810/)

3sesenta79 03/06/2008 03:32

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='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'
class='BotonDocumentacion'
onclick='DetalleDocumentacionEmpresa("&rs2.Fields( "idEmpresa")
&")'></td>"
response.write "<TD align='center' width='26'><INPUT TYPE='button'
value='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;' 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='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'
class='BotonDocumentacion'
onclick='DetalleDocumentacionEmpresa("&rs2.Fields( "idEmpresa")
&")'></td>"
response.write "<TD align='center' width='26'><INPUT TYPE='button'
value='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;' 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
>&nbsp;"&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

Shiryu_Libra 03/06/2008 09:23

Respuesta: recordset en bucle
 
:pensando:

en cualquiera de los escenarios, trae datos para evaluar?

podrias mostrar el codigo antes del
Cita:

While (Not rs2.eof And (registros_mostrados < num_registros))
por que en el final del for.... imprimes
Cita:

Response.Write("<TD align='"&"center"&"'"&_
"bgcolor="&"white"&"><H1>&nbsp;" & rs2.Fields(I) & "</H1></TD>")
al "I" accesa algun dato?, logicamente es columna, pero entra?

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:

3sesenta79 18/06/2008 08:33

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">&nbsp;
<%
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 -->
&nbsp;&nbsp;&nbsp;&nbsp;<a href="DocumentacionGeneral.asp"><img border="none" src="../img/IconoDocumentacion.gif">&nbsp;&nbsp;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">&nbsp;&nbsp;&nbsp;</td><td><H1>COMPLETA (empresa, subcontratas de esta si procede y empleados con todos los documentos</H1></td></tr>
<tr><td bgcolor="orange">&nbsp;&nbsp;&nbsp;</td><td><H1>INCOMPLETA (faltan documentos o existen documentos caducados o nulos)</H1></td></tr>
<tr><td bgcolor="red">&nbsp;&nbsp;&nbsp;</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='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'
class='BotonDocumentacion'
onclick='DetalleDocumentacionEmpresa("&rs2.Fields( "idEmpresa")
&")'></td>"
response.write "<TD align='center' width='26'><INPUT TYPE='button'
value='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;' 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='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'
class='BotonDocumentacion'
onclick='DetalleDocumentacionEmpresa("&rs2.Fields( "idEmpresa")
&")'></td>"
response.write "<TD align='center' width='26'><INPUT TYPE='button'
value='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;' 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
>&nbsp;"&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.