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

Ayuda Urgente: Suma Dinamica

Estas en el tema de Ayuda Urgente: Suma Dinamica en el foro de ASP Clásico en Foros del Web. Hola gente, tengo un problemita. Bueno recupero de una DB Acces mediante una pag ASP los nombres de campos de una tabla por ejm: P1, ...
  #1 (permalink)  
Antiguo 25/06/2003, 14:33
 
Fecha de Ingreso: marzo-2003
Ubicación: Av. Grau 1190
Mensajes: 122
Antigüedad: 21 años, 3 meses
Puntos: 3
Exclamación Ayuda Urgente: Suma Dinamica

Hola gente, tengo un problemita.

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

Quisiera mostra una tabla como sigue:

Nombre___P1___P2___T1___Suma (P1+P2+T1)
Carlos1___10___12___19___no se como!
Carlos2___15___14___15___no se como!
Carlos3___11___12___14___no se como!
.....

Mi problema es como obtener la suma de los campos mostrados ejem: (Carlos1___10___12___19___41 )

Les envio el codigo:

==============

Response.Write("<TABLE BORDER='1'>")
Response.Write("<TR>")
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("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>")

' En este lugar me gustaria mostrar la suma de los valores rs.Fields(campo)
' por ejm UBound(iEval,2) = 2 entonces:
' rs.Fields(campo0)=11 .. supuesto valor
' rs.Fields(campo1)=15
' rs.Fields(campo2)=17
' Como puedo mostrar la suma de estos tres campos?

next
Response.Write("</TR>")
rs.MoveNext
wend
Response.Write("</TABLE>")
============
  #2 (permalink)  
Antiguo 25/06/2003, 15:05
Avatar de Mickel  
Fecha de Ingreso: mayo-2002
Ubicación: Lima, Peru
Mensajes: 4.619
Antigüedad: 22 años
Puntos: 7
Asignalos a variables
<%
dCampo0=rs(campo0)
dCampo1=rs(campo1)
dCampo2=rs(campo2)
dTotal=dCampo0+dCampo1+dCampo2
Response.Write dTotal
%>
__________________
No tengo firma ahora... :(
  #3 (permalink)  
Antiguo 25/06/2003, 15:30
 
Fecha de Ingreso: marzo-2003
Ubicación: Av. Grau 1190
Mensajes: 122
Antigüedad: 21 años, 3 meses
Puntos: 3
Gracias Mickel

Pero, para asignarle como variables existe un inconveniente, es que el UBound(iEval,2) varia de acuerdo a la sesion.

UBound(iEval,2) , podria ser 1, 2, 3, 4 etc , en ese caso como podria hacer la suma?

===
<%
dCampo0=rs(campo0)
dCampo1=rs(campo1)
dCampo2=rs(campo2)
dTotal=dCampo0+dCampo1+dCampo2
Response.Write dTotal
%>
==

estas asumiendo que UBound(iEval,2) es 2 (no siempre sera ese valor)
  #4 (permalink)  
Antiguo 25/06/2003, 15:36
Avatar de Mickel  
Fecha de Ingreso: mayo-2002
Ubicación: Lima, Peru
Mensajes: 4.619
Antigüedad: 22 años
Puntos: 7
Ok, entonces
<%
dTotal=0
for J1=0 to UBound(iEval,2)
Ncampo = iEval(cod_eval, J1)
dTotal=dTtotal+nCampo
Response.Write("<TD>" & Ncampo & "</TD>")
next
Respons.Write "<td>" & dTotal & "</td>"
%>
__________________
No tengo firma ahora... :(
  #5 (permalink)  
Antiguo 26/06/2003, 12:19
 
Fecha de Ingreso: marzo-2003
Ubicación: Av. Grau 1190
Mensajes: 122
Antigüedad: 21 años, 3 meses
Puntos: 3
Gracias Mickel

Solo un detalle,

El codigo es como sigue:

<%

dTotal=0
for J1=0 to UBound(iEval,2)
Scampo = iEval(cod_eval, J1)
nota = rs.Fields(Scampo)
dTotal= dTotal+nota
'Response.Write("<TD>" & dTotal & "</TD>")
next
Response.Write("<TD>" & dTotal & "</TD>")
%>
y efectivamente me devuelve la suma.
dTotal=0, igualar a cero era el truco pues ya habia intentado hacer lo mismo pero olvide ese detalle.
  #6 (permalink)  
Antiguo 24/09/2004, 06:24
Avatar de Prefontaine  
Fecha de Ingreso: agosto-2004
Mensajes: 313
Antigüedad: 19 años, 9 meses
Puntos: 0
Tienes el codigo completo por ahi me sería de gran utilidad,
Muchas gracias
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 14:48.