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

Suma De Campos Dinamicos

Estas en el tema de Suma De Campos Dinamicos en el foro de ASP Clásico en Foros del Web. Hola amigos. Tengo un problema que no puedo solucionar: Bueno recupero de una DB Acces mediante una pag ASP los nombres de campos de una ...
  #1 (permalink)  
Antiguo 24/06/2003, 12:07
 
Fecha de Ingreso: marzo-2003
Ubicación: Av. Grau 1190
Mensajes: 122
Antigüedad: 21 años, 1 mes
Puntos: 3
Exclamación Suma De Campos Dinamicos

Hola amigos.

Tengo un problema que no puedo solucionar:

Bueno recupero de una DB Acces mediante una pag ASP los nombres de campos de una tabla por ejm: P1, P2, T2 (de manera dinamica, es decir pueden cambiar de acuerdo al usuario), al igual que sus valores, pero no se como sumar estos valores, a continuacion el codigo.

-----
Con este codigo logro:

cod_alu___P1___P2___T1___Suma (P1+P2+T1)
0000215___10___12___19___no se como!
0000216___15___14___15___no se como!
0000217___11___12___14___no se como!
....

En resumen es lo que quiero obtener.


===========

<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<!--#include file="../config/conexion.asp" -->
<%
Dim CAT
CAT = "070203-042889-1"
if (Request.QueryString("shk") <> "") then CAT = Request.QueryString("shk")
' shk = idEval : es el identificador para consultas
%>
<%
Dim oConnEval, rsEval, SQLEval, iEval
Dim id_control, acceso, cod_eval, nro_eval, nom_eval, peso, desc_eval, fec_eval, hora_eval
id_control = 0
acceso=1
cod_eval=2
nro_eval = 3 ' No es necesario salvo para el archivo form_eval.asp
nom_eval=4
peso=5
desc_eval=6
fec_eval=7
hora_eval=8

SQLEval = "SELECT * FROM tblControl WHERE acceso ='"&CAT&"' ORDER BY cod_eval"
set oConnEval = Server.CreateObject("ADODB.Connection")
oConnEval.Open MM_svn_STRING
set rsEval = oConnEval.Execute(SQLEval)

iEval = rsEval.GetRows
'Liberamos los objetos ya!!
rsEval.Close
set rsEval = nothing
oConnEval.Close
set oConnEval = nothing
%>

<%
Dim CAT1
CAT1 = "070203-042889-1"
if (Request.QueryString("shk") <> "") then CAT1 = Request.QueryString("shk")
' shk = idRg : es el identificador para consultas
%>
<%
Dim oConnRg, rsRg, SQLRg, iRg
Dim ID, cod_seccio, cod_asigna, nom_asigna, cod_docent, nom_prof, cod_alu, ap_alu, nombre_alu
ID = 0
cod_seccio = 1
cod_asigna = 2
nom_asigna = 3
cod_docent = 4
nom_prof = 5
cod_alu = 6
ap_alu = 7
nombre_alu = 8

SQLRg = "SELECT * FROM tblGeneral WHERE cod_seccio = '1' AND cod_asigna ='070203' AND cod_docent ='042889' "
set oConnRg = Server.CreateObject("ADODB.Connection")
oConnRg.Open MM_svn_STRING
set rsRg = oConnRg.Execute(SQLRg)

if not rsRg.eof then

iRg = rsRg.GetRows
'Liberamos los objetos ya!!
rsRg.Close
set rsRg = nothing
oConnRg.Close
set oConnRg = nothing
%>
<html>
<head>
<title>Notas</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<p><font size="1" face="Arial, Helvetica, sans-serif">Curso: <%=iRg(nom_asigna, 0)%> / Seccion: <%=iRg(cod_seccio, 0)%>/ Profesor : <%=iRg(nom_prof, 0)%></font></p>
<p>
<%
Dim oConn, rs, SQL
SQL="SELECT * FROM tblGeneral where cod_docent ='042889' and cod_seccio = '1'"
set oConn = Server.CreateObject("ADODB.Connection")
oConn.Open MM_svn_STRING
set rs = oConn.Execute(SQL)
Response.Write("<TABLE BORDER='1'>")
Response.Write("<TR>")
Response.Write("<TD> Seccion </TD>")
Response.Write("<TD> codigo </TD>")
Response.Write("<TD> Nombre </TD>")
' Para recorrer y mostrar los nombre de campos -->a
for J1=0 to UBound(iEval,2)
Ncampo = iEval(cod_eval, J1)
Response.Write("<TD>" & Ncampo & "</TD>")
next
Response.Write("</TR>")
while not rs.EOF
Response.Write("<TR>")
Response.Write("<TD>" & rs.Fields("cod_seccio") & "</TD>")
Response.Write("<TD>" & rs.Fields("cod_alu") & "</TD>")
Response.Write("<TD>" & rs.Fields("nombre_alu") & "</TD>")
' Para recorrer y mostrar los valores de los campos que se muestran arriba (a)
for J=0 to UBound(iEval,2)
campo = iEval(cod_eval, J)
Response.Write("<TD>" & rs.Fields(campo) & "</TD>")
Response.Write("<TD>" & rs.Fields(campo) & "</TD>")
next
' En este lugar me gustaria mostrar la suma de los valores rs.Fields(campo)
' por ejm fuera:
' rs.Fields(campo0)=11
' rs.Fields(campo1)=15
' rs.Fields(campo2)=17
' Como puedo mostrar la suma de estos tres campos? Response.Write("</TR>")
rs.MoveNext
wend
Response.Write("</TABLE>")
rs.Close
set rs = nothing
oConn.Close
set oConn = nothing
%></p>
<p>
<% else
Response.Write("<hr>No hay registros Falta normalizar <br> (ver como funciona) rsRg.eof and rsRg.bof")
%>
</p>
<p>este texto solo se vera en caso no hay resgistros</p>
</body>
</html>
<%End if%>

====

Espero que me hayan entendido y gracias por su ayuda.
  #2 (permalink)  
Antiguo 24/06/2003, 17:00
 
Fecha de Ingreso: junio-2003
Ubicación: Bilbao
Mensajes: 90
Antigüedad: 20 años, 10 meses
Puntos: 1
Con una simple variable que vaya recogiendo el valor de los tres campos y vaya sumandolo

' Para recorrer y mostrar los valores de los campos que se muestran arriba (a)
for J=0 to UBound(iEval,2)
campo = iEval(cod_eval, J)
Response.Write("<TD>" & rs.Fields(campo) & "</TD>")
Response.Write("<TD>" & rs.Fields(campo) & "</TD>")
next
' En este lugar me gustaria mostrar la suma de los valores rs.Fields(campo)
' por ejm fuera:
' rs.Fields(campo0)=11
' rs.Fields(campo1)=15
' rs.Fields(campo2)=17
' Como puedo mostrar la suma de estos tres campos? Response.Write("</TR>")
rs.MoveNext wend

podrías hacer
response.write("<td>"&cint(rs("campo")+cint(rs("ca mpos"))&"</td>")

aunque de esta manera los accesos me temo que se multiplican
y seguro que retarda la ejecución
__________________
Code
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 02:56.