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

Sumar recordset, se puede????

Estas en el tema de Sumar recordset, se puede???? en el foro de ASP Clásico en Foros del Web. Holas amigos como estan???? aqui me tienen de nuevo con una preguntita, tengo una pagina donde visualizo las notas de mis alumnos por lapso y ...
  #1 (permalink)  
Antiguo 02/05/2003, 06:39
Avatar de 8461277  
Fecha de Ingreso: diciembre-2002
Ubicación: san juan de los morros
Mensajes: 887
Antigüedad: 21 años, 6 meses
Puntos: 1
Sumar recordset, se puede????

Holas amigos como estan???? aqui me tienen de nuevo con una preguntita, tengo una pagina donde visualizo las notas de mis alumnos por lapso y quiero sumar todos los lapsos para obtener la definitiva de la materia, yo utilizo este codigos:

a= rs("Parcial1")
response.write (a)
b= rs("Parcial1")
response.write (b)
r= a + b
response.write (r)

se visualiza lo que estraigo de la bd pero no realiza la suma, ya que me dice QUE LOS TIPOS NO COINCIDEN, y los recordset se llaman asi, sera que me pueden hechar una mano, por favor, que estoy haciendo mal

Miguel
  #2 (permalink)  
Antiguo 02/05/2003, 07:17
Avatar de buliwyf  
Fecha de Ingreso: diciembre-2001
Ubicación: Caracas
Mensajes: 221
Antigüedad: 22 años, 5 meses
Puntos: 1
bueno, lo que veo es que pusiste parcial1 las dos veces...


pero para eliminarte esos dolores de cabeza se me ocurre algo como:

sql= "Select nombre, apellido, parcial1, parcial2, Abs(parcial1+parcial2) as final from Tabla"

y para mostrar el recordset:

Nota de primer parcial <%=rs("parcial1")%> <br>
Nota de segundo parcial <%=rs("parcial2")%> <br>
Nota de final <%=rs("final")%> <br>

por ahi va la cosa... cuentanos

saludos
__________________
RTFM antes de preguntar...
  #3 (permalink)  
Antiguo 02/05/2003, 09:02
Avatar de maestro  
Fecha de Ingreso: febrero-2002
Ubicación: España
Mensajes: 2.364
Antigüedad: 22 años, 4 meses
Puntos: 1
a= rs("Parcial1")
response.write (a)
b= rs("Parcial1 ") ' ¿no estara mal?
response.write (b)
r= a + b
response.write (r)

De todas formas, ¿los 2 campos de notas son numericos?, no seran de tipo texto, si es asi no te valen.
¿No habras usado un . (punto) para serparar los decimales en vez de una , (coma)?
__________________
Jose Maria Fernandez
[email protected]
Http://www.expansionweb.net
  #4 (permalink)  
Antiguo 02/05/2003, 09:27
Avatar de 8461277  
Fecha de Ingreso: diciembre-2002
Ubicación: san juan de los morros
Mensajes: 887
Antigüedad: 21 años, 6 meses
Puntos: 1
gracias por contestar, si lo campos son numerico, y estan bajo formato de 2 decimal es, y los copios de una tabla de excel a bd de access, y el uno de los Parcial es 2, es decir rs("Parcial2"), sera que en el traslado se pirde el formato de pinto y de la coma????

Hay otroa forma de resolverlo???

Miguel

NOTA: en la bd de access esta con coma, pero en el servidor donde tengo alojada la pagina me lo coloca con punto:
Eje: 1.59
  #5 (permalink)  
Antiguo 02/05/2003, 09:38
Avatar de maestro  
Fecha de Ingreso: febrero-2002
Ubicación: España
Mensajes: 2.364
Antigüedad: 22 años, 4 meses
Puntos: 1
¿Que tipo de valor le has dado al campo numerico?, ponlo como SIMPLE y dile que dos decimales

Este es un script que acabo de hacer, tambien puedes bajarte la base de datos de aqui:
http://www.expansionweb.net/asp_pruebas/ejemplo2.mdb

Los campos tienen el valor de 12,12 ambos. Suma correctamente, como puedes ver dando 24,24

<%
set oConn=Server.CreateObject("ADODB.Connection")
set rs=Server.CreateObject("ADODB.Recordset")
oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="&Server.MapPath("ejemplo2.mdb")&";"

SQL="SELECT * FROM sumas"
rs.Open SQL, oConn
do while not rs.eof
response.write(rs("valor1")+rs("valor2"))& "<br>"
rs.movenext
loop
rs.close
oConn.close
%>
__________________
Jose Maria Fernandez
[email protected]
Http://www.expansionweb.net

Última edición por maestro; 02/05/2003 a las 09:45
  #6 (permalink)  
Antiguo 02/05/2003, 11:38
Avatar de 8461277  
Fecha de Ingreso: diciembre-2002
Ubicación: san juan de los morros
Mensajes: 887
Antigüedad: 21 años, 6 meses
Puntos: 1
Gracias maestro. Si me funciona, el codigo es:
<%
a= rs("Parcial1")
response.write (a)
b= rs("Parcial2")
response.write (b)
r= a+b
response.write(r)

Pero quiero colocar dicho resultado dentro de una celda especifica en una tabla de 6 colmna, es decir que dicho resultado este en la ultima columna, como lo hago?????, por favor me pueden ayudar???. O colocarlo en una celda wue yo quiera dentro de una tabla????


Miguel
__________________
Miguel Padrón :cool:

Última edición por 8461277; 02/05/2003 a las 11:43
  #7 (permalink)  
Antiguo 02/05/2003, 11:51
Avatar de maestro  
Fecha de Ingreso: febrero-2002
Ubicación: España
Mensajes: 2.364
Antigüedad: 22 años, 4 meses
Puntos: 1
Esto solo se lo muestra en pantalla.
response.write(r)

Para insertar el valor en la tabla necesitas esto.
<%
rs("campototal")=r
rs.update
%>
__________________
Jose Maria Fernandez
[email protected]
Http://www.expansionweb.net
  #8 (permalink)  
Antiguo 02/05/2003, 12:37
Avatar de 8461277  
Fecha de Ingreso: diciembre-2002
Ubicación: san juan de los morros
Mensajes: 887
Antigüedad: 21 años, 6 meses
Puntos: 1
Maestro ise lo que me dijiste , ya que es logico para yo poder visualizar el resultado en la celde que yo quiero, pero no sale, ademas tengo permiso de escritura en el servidor, y lo que sales es:

Tipo de error:
ADODB.Recordset (0x800A0CB3)
El Recordset actual no admite actualizaciones. Puede ser una limitación del proveedor o del tipo de bloqueo seleccionado.
/asp/resultadonotas3.asp, línea 56


Miguel
__________________
Miguel Padrón :cool:
  #9 (permalink)  
Antiguo 02/05/2003, 12:45
Avatar de maestro  
Fecha de Ingreso: febrero-2002
Ubicación: España
Mensajes: 2.364
Antigüedad: 22 años, 4 meses
Puntos: 1
No estaras usando adLockReadOnly.
Leete este articulo puede ser un problema de los cursores y cerrorjos al abrir el recordset.
http://www.aspfacil.com/articulos/040401.asp
__________________
Jose Maria Fernandez
[email protected]
Http://www.expansionweb.net
  #10 (permalink)  
Antiguo 02/05/2003, 12:57
Avatar de 8461277  
Fecha de Ingreso: diciembre-2002
Ubicación: san juan de los morros
Mensajes: 887
Antigüedad: 21 años, 6 meses
Puntos: 1
No maestro no tengo esa traba, creo si es que te entendi lo que me tratas de decir, es mas te doy un poco mas del codigo de mi pagina asp, para ver si tu o alguien le consigue el error, ya que tengo otras paginas donde hago actualizaciones y me va de maravilla, bueno el codigo es:

<%
'Aqui compruebo que esta colocando 8 digitos
If Len(Request.Form("cedula")) <8 then
'el campo no fue llenado, entonces...
response.write "<CENTER><H1><B>¡ERROR!</B></H1></CENTER>"
response.write "<CENTER><B><H1>Por Favor rellenar con Tú Cédula de 8 Dígitos, presiona Volver al Formulario, para intentarlo otra vez</H1></B></CENTER>"
response.end
End If%>


<%ccedula=request.form("cedula")
set rs=createobject("ADODB.Recordset")
sqltxt="select cedula, Nombre, Parcial1, PC1, T1, P1, As1, A1, Parcial2, PC2, T2, P2, As2, A2, Parcial3, PC3, T3, P3, As3, A3, Definitiva from Alumnos where cedula like '%"&ccedula&"%'"
'response.write (sqltxt)
rs.open sqltxt,"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\Inetpub\wwwroot\asp\bdfisica2.mdb;"%>

<%
a= rs("Parcial1")
response.write (a)
b= rs("Parcial2")
response.write (b)
r= a+b
response.write(r)
rs("Definitiva")=r
rs.update
%>
Miguel
__________________
Miguel Padrón :cool:
  #11 (permalink)  
Antiguo 02/05/2003, 13:07
Avatar de maestro  
Fecha de Ingreso: febrero-2002
Ubicación: España
Mensajes: 2.364
Antigüedad: 22 años, 4 meses
Puntos: 1
Pruebalo asi.
<%
'Aqui compruebo que esta colocando 8 digitos
If Len(Request.Form("cedula")) <8 then
'el campo no fue llenado, entonces...
response.write "<CENTER><H1><B>¡ERROR!</B></H1></CENTER>"
response.write "<CENTER><B><H1>Por Favor rellenar con Tú Cédula de 8 Dígitos, presiona Volver al Formulario, para intentarlo otra vez</H1></B></CENTER>"
response.end
End If

ccedula=request.form("cedula")
set oConn=Server.CreateObject("ADODB.Connection")
set rs=createobject("ADODB.Recordset")
oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="C:\Inetpub\wwwroot\asp\bdfisica2.mdb""
SQL="select * from Alumnos where cedula like '%"&ccedula&"%'"
rs.Open SQL, oConn

a= rs("Parcial1")
response.write (a)
b= rs("Parcial2")
response.write (b)
r= a+b
response.write(r)
rs("Definitiva")=r
rs.update
%>
__________________
Jose Maria Fernandez
[email protected]
Http://www.expansionweb.net
  #12 (permalink)  
Antiguo 02/05/2003, 13:22
Avatar de 8461277  
Fecha de Ingreso: diciembre-2002
Ubicación: san juan de los morros
Mensajes: 887
Antigüedad: 21 años, 6 meses
Puntos: 1
Maestro me da lo mismo:
Tipo de error:
ADODB.Recordset (0x800A0CB3)
El Recordset actual no admite actualizaciones. Puede ser una limitación del proveedor o del tipo de bloqueo seleccionado.
/asp/resultadonotas3.asp, línea 60


Que sera, bueno si puedes ayudarme te lo agradesco, ya voy saliendo de la oficina, mañana vuelvo por aqui, si consigue el error me avisa, tanbien te dejo el codigo completo de mi pagiana:

<html>

<head>
<meta http-equiv="Content-Language" content="es">
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Consulta de una Base de Dato</title>
</head>

<body>

</table>
</head><body bgcolor="#808000">
<div align="center">
<center>
<table border="2" width="50%" bgcolor="#008000">
<tr>
<td width="100%">
<p align="center"><font color="#FFFFFF"><B>RESULTADO DE LAS NOTAS</B></font></td>
</tr>
</table>
</center>
</div>
<BR>
<CENTER><a href="fconsulta3.html"><H2><B>Volver al Formulario</B></H2></a></CENTER>
<BR>
<%
'Aqui compruebo que esta colocando 8 digitos
If Len(Request.Form("cedula")) <8 then
'el campo no fue llenado, entonces...
response.write "<CENTER><H1><B>¡ERROR!</B></H1></CENTER>"
response.write "<CENTER><B><H1>Por Favor rellenar con Tú Cédula de 8 Dígitos, presiona Volver al Formulario, para intentarlo otra vez</H1></B></CENTER>"
response.end
End If%>


<%ccedula=request.form("cedula")
set rs=createobject("ADODB.Recordset")
sqltxt="select cedula, Nombre, Parcial1, PC1, T1, P1, As1, A1, Parcial2, PC2, T2, P2, As2, A2, Parcial3, PC3, T3, P3, As3, A3, Definitiva from Alumnos where cedula like '%"&ccedula&"%'"
'response.write (sqltxt)
rs.open sqltxt,"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\Inetpub\wwwroot\asp\bdfisica2.mdb;"%>



<%
a= rs("Parcial1")
response.write (a)
b= rs("Parcial2")
response.write (b)
r= a+b
response.write(r)
rs("Definitiva")=r
rs.update
%>

<%if rs.eof then%>

<h3 align="center">
<font color="#FF0000"><H1>Tú no Existe, por favor presiona <I>"Volver al Formulario"</I> e intenta de nuevo, <I>GRACIAS!!!</I></H1></font></h3>

<%else%>

<table border="0" cellpadding="0" cellspacing="1" style="border-collapse: collapse" bordercolor="#111111" width="63%">
<tr>
<td width="10%" align="center" bgcolor="#008080">
<font color="#000000"><B>Cédula</B></font></td>
<td width="35%" align="center" bgcolor="#008080">
<font color="#000000"><B>Apellidos y Nombres</B></font></td> </tr>
<tr>
<td width="10%" align="center" bgcolor="#FFFFFF">
<font color="#000000"><font Size="3"><%=FormatNumber((rs("Cedula").Value), 0, -2, -1, -1)%></font></td>
<td width="35%" align="left" bgcolor="#FFFFFF">
<font color="#000000"><font Size="3"><%=rs("Nombre")%></font></td>
</tr>
</table>
<p>&nbsp;</p>
<table border="0" cellpadding="0" cellspacing="1" style="border-collapse: collapse" bordercolor="#111111" width="100%" >
<tr>
<td width="14%" align="center" bgcolor="#008080"><font color="#000000"><B>Parcial I<BR>15%</B></font></td>
<td width="14%" align="center" bgcolor="#008080"><font color="#000000"><B>Prueba Corta<BR>9,25%</B></font></td>
<td width="14%" align="center" bgcolor="#008080"><font color="#000000"><B>Trabajo</font><BR>3,75%</B></td>
<td width="14%" align="center" bgcolor="#008080"><font color="#000000"><B>Participación<BR>1%</B></font></td>
<td width="14%" align="center" bgcolor="#008080"><font color="#000000"><B>Asistencia<BR>1%</B></font></td>
<td width="15%" align="center" bgcolor="#008080"><font color="#000000"><B>Acumulado<BR>3 Ptos.</B></font></td>
</tr>
<tr>
<td width="14%" align="center" bgcolor="#FFFFFF"><font color="#000000"><font Size="3"><%=rs("Parcial1")%></font></td>
<td width="14%" align="center" bgcolor="#FFFFFF"><font color="#000000"><font Size="3"><%=rs("PC1")%></font></td>
<td width="14%" align="center" bgcolor="#FFFFFF"><font color="#000000"><font Size="3"><%=rs("T1")%></font></td>
<td width="14%" align="center" bgcolor="#FFFFFF"><font color="#000000"><font Size="3"><%=rs("P1")%></font></td>
<td width="14%" align="center" bgcolor="#FFFFFF"><font color="#000000"><font Size="3"><%=rs("As1")%></font></td>
<td width="15%" align="center" bgcolor="#FFFFFF"><font color="#000000"><font Size="3"><%=rs("A1")%></font></td>
</tr>
</table>
<p>&nbsp;</p>
<table border="0" cellpadding="0" cellspacing="1" style="border-collapse: collapse" bordercolor="#111111" width="100%">
<tr>
<td width="14%" align="center" bgcolor="#008080"><font color="#000000"><B>Parcial II<BR>16%</B></font></td>
<td width="14%" align="center" bgcolor="#008080"><font color="#000000"><B>Prueba Corta<BR>9%</B></font></td>
<td width="14%" align="center" bgcolor="#008080"><font color="#000000"><B>Trabajo<BR>3%</font></B></td>
<td width="14%" align="center" bgcolor="#008080"><font color="#000000"><B>Participación<BR>1%</B></font></td>
<td width="14%" align="center" bgcolor="#008080"><font color="#000000"><B>Asistencia<BR>1%</B></font></td>
<td width="15%" align="center" bgcolor="#008080"><font color="#000000"><B>Acumulado<BR>3 Ptos.</B></font></td> </tr>
<tr>
<td width="14%" align="center" bgcolor="#FFFFFF"><font color="#000000"><font Size="3"><%=rs("Parcial2")%></font></td>
<td width="14%" align="center" bgcolor="#FFFFFF"><font color="#000000"><font Size="3"><%=rs("PC2")%></font></td>
<td width="14%" align="center" bgcolor="#FFFFFF"><font color="#000000"><font Size="3"><%=rs("T2")%></font></td>
<td width="14%" align="center" bgcolor="#FFFFFF"><font color="#000000"><font Size="3"><%=rs("P2")%></font></td>
<td width="14%" align="center" bgcolor="#FFFFFF"><font color="#000000"><font Size="3"><%=rs("As2")%></font></td>
<td width="15%" align="center" bgcolor="#FFFFFF"><font color="#000000"><font Size="3"><%=rs("A2")%></font></td>
</tr>
</table>

<p>&nbsp;</p>
<table border="0" cellpadding="0" cellspacing="1" style="border-collapse: collapse" bordercolor="#111111" width="100%">
<tr>
<td width="14%" align="center" bgcolor="#008080"><font color="#000000"><B>Parcial III</B></font></td>
<td width="14%" align="center" bgcolor="#008080"><font color="#000000"><B>Prueba Corta</B></font></td>
<td width="14%" align="center" bgcolor="#008080"><font color="#000000"><B>Trabajo</font></B></td>
<td width="14%" align="center" bgcolor="#008080"><font color="#000000"><B>Participación</B></font></td>
<td width="14%" align="center" bgcolor="#008080"><font color="#000000"><B>Asistencia</B></font></td>
<td width="15%" align="center" bgcolor="#008080"><font color="#000000"><B>Acumulado<BR>4 Ptos.</B></font></td> </tr>
<tr>
<td width="14%" align="center" bgcolor="#FFFFFF"><font color="#000000"><font Size="3"><%=rs("Parcial3")%></font></td>
<td width="14%" align="center" bgcolor="#FFFFFF"><font color="#000000"><font Size="3"><%=rs("PC3")%></font></td>
<td width="14%" align="center" bgcolor="#FFFFFF"><font color="#000000"><font Size="3"><%=rs("T3")%></font></td>
<td width="14%" align="center" bgcolor="#FFFFFF"><font color="#000000"><font Size="3"><%=rs("P3")%></font></td>
<td width="14%" align="center" bgcolor="#FFFFFF"><font color="#000000"><font Size="3"><%=rs("As3")%></font></td>
<td width="15%" align="center" bgcolor="#FFFFFF"><font color="#000000"><font Size="3"><%=rs("A3")%></font></td>
</tr>
</table>
<p>&nbsp;</p>
<table border="0" cellpadding="0" cellspacing="1" style="border-collapse: collapse" bordercolor="#111111" width="100%">
<tr>
<td width="14%" align="center">&nbsp;</td>
<td width="14%" align="center">&nbsp;</td>
<td width="14%" align="center">&nbsp;</td>
<td width="14%" align="center">&nbsp;</td>
<td width="14%" align="center">&nbsp;</td>
<td width="15%" align="center" bgcolor="#008080"><font color="#000000"><B>Definitiva<BR>10 Ptos.</B></font></td>
</tr>
<tr>
<td width="14%">
<p align="center">&nbsp;</td>
<td width="14%">
<p align="center">&nbsp;</td>
<td width="14%">
<p align="center">&nbsp;</td>
<td width="14%">
<p align="center">&nbsp;</td>
<td width="14%">
<p align="center">&nbsp;</td>
<td width="15%" align="center" bgcolor="#FFFFFF"><font color="#000000"><font Size="3"><%=rs("Definitiva")%></font></td>
</tr>
<%rs.movenext


rs.close
end if%>
</table>
</CENTER>
&nbsp;
<CENTER>
<p align="center"><a href="fconsulta3.html"><H2><B>Volver al Formulario</B></H2></a></p>
</CENTER>
</body>
</html>

Miguel
__________________
Miguel Padrón :cool:
  #13 (permalink)  
Antiguo 03/05/2003, 07:32
Avatar de 8461277  
Fecha de Ingreso: diciembre-2002
Ubicación: san juan de los morros
Mensajes: 887
Antigüedad: 21 años, 6 meses
Puntos: 1
Amigos y al maestro ya lo resolvi, solo tuve que poner en la celda que queria ver el resultado la variable donde esta el resultado de la suma, eso lo hice de la siguiente manera:

<%
a= rs("Parcial1")
response.write (a)
b= rs("Parcial2")
response.write (b)
r= a+b
%>
<td width="15%" align="center" bgcolor="#FFFFFF"><font color="#000000"><font Size="3"><%=r%></font></td>
__________________
Miguel Padrón :cool:
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 00:57.