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

recordset en bucle

Estas en el tema de recordset en bucle en el foro de ASP Clásico en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 03/06/2008, 03:32
 
Fecha de Ingreso: mayo-2008
Mensajes: 10
Antigüedad: 17 años
Puntos: 0
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
  #2 (permalink)  
Antiguo 03/06/2008, 09:23
Avatar de Shiryu_Libra
Colaborador
 
Fecha de Ingreso: febrero-2007
Ubicación: Cantando "Screenager" en "Kirafa Kaput"
Mensajes: 3.614
Antigüedad: 18 años, 2 meses
Puntos: 88
Respuesta: recordset en bucle



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

__________________
"Eres parte del problema, parte de la solucion o parte del paisaje"
Un Saludo desde Desierto de Altar, Sonora, MX.
Shiryu_libra
  #3 (permalink)  
Antiguo 18/06/2008, 08:33
 
Fecha de Ingreso: mayo-2008
Mensajes: 10
Antigüedad: 17 años
Puntos: 0
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
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 13:02.