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

Como sumo o resto campos?

Estas en el tema de Como sumo o resto campos? en el foro de ASP Clásico en Foros del Web. Amigos como sumos o resto campos que vienen de un formulario y paso el resultado como variable, aquí posteo un ejemplo de lo que yo ...
  #1 (permalink)  
Antiguo 02/09/2004, 17:53
 
Fecha de Ingreso: abril-2002
Mensajes: 127
Antigüedad: 22 años, 2 meses
Puntos: 0
Como sumo o resto campos?

Amigos como sumos o resto campos que vienen de un formulario y paso el resultado como variable, aquí posteo un ejemplo de lo que yo quiero hacer, al que sepa que posetee el codigo como debe ser:


Variable = Request.form (nombre campo - otronombrecampo)

Se entiende lo que digo, lo que quiero es asignarle un valor numerico a variable, pero que salga de la resta de dos datos numericos que vienen de un formulario, lo de arriba es a modo de ejemplo para que se entienda lo que quiero, logicamente que esta mal lo de arriba.

Gracias anticipadas al que me de una mano.
  #2 (permalink)  
Antiguo 02/09/2004, 18:36
 
Fecha de Ingreso: abril-2004
Ubicación: México D.F.
Mensajes: 1.724
Antigüedad: 20 años, 1 mes
Puntos: 4
variable=cdbl(request.form("campo1")) - cdbl(request.form("campo2"))

Será esto lo que pides ...
  #3 (permalink)  
Antiguo 02/09/2004, 18:47
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 3 meses
Puntos: 535
Variable = Request.form(nombre campo) - Request.Form(otronombrecampo)
__________________
...___...
  #4 (permalink)  
Antiguo 03/09/2004, 06:48
 
Fecha de Ingreso: abril-2002
Mensajes: 127
Antigüedad: 22 años, 2 meses
Puntos: 0
Muchas gracias.

Amigos michas gracias, ahí funciono perfectamente lo que me postearon.
Muchas gracias nuevamente.

Ahora otra pregunta, alguno sabe como hacer para contar campos de una tabla y sumarlo. por ejemplo tengo una tabla en la que uno de los campos guarda numeros y yo quiero contar cuantos campos aparecen de ese rubro y sumarlos a todos para obtener un total.

Gracias anticipadas al que me de una mano.

Saludos El Jedi.
  #5 (permalink)  
Antiguo 03/09/2004, 07:50
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 4 meses
Puntos: 146
Es mas fácil así:
Sumar: select sum(campo) from tabla
Contar: select count(campo) from tabla

Toma en cuenta que estas funciones regresan solo un registro por grupo, si no tienes definido un grupo, regresa solo un reg. por tabla
  #6 (permalink)  
Antiguo 03/09/2004, 07:57
 
Fecha de Ingreso: abril-2004
Ubicación: México D.F.
Mensajes: 1.724
Antigüedad: 20 años, 1 mes
Puntos: 4
Y para obtener el valor:

select sum(campo) as alias from tabla
  #7 (permalink)  
Antiguo 03/09/2004, 08:04
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 4 meses
Puntos: 146
Cierto, de lo contrario lo debería de obtener con Expr1000 (en access) o Expr1 (en SQLServer), gracias orharo
  #8 (permalink)  
Antiguo 04/09/2004, 11:10
 
Fecha de Ingreso: abril-2002
Mensajes: 127
Antigüedad: 22 años, 2 meses
Puntos: 0
Donde esta mi error?

Amigos ustedes que saben tanto diganme donde esta mi error:
Lo que yo quiero hacer es asignarle un valor a variable, pero que ese valor salga de una resta, pero que esta resta va a depender de los valores que traigan los campos, hay un valor que viene del campo llamado primero que es el numero al cual se le va a restar otro numero, pero el numero que se le va a restar al campo primero va a depender del campo del formulario del que venga, Ejemplo si viene del campo llamado segundo a primero se le va a restar el valor que traiga el campo llamado segundo y si el valor viene del campo llamado tercero a primero se le va a restar el valor que traiga el campo tercero y el resultado va a ser el valor que se le asigne a variable. A continuacion les envío algo que yo hise con lo que me postearon anteriormente para hacer suma o resta de campo, pero cuando quiero hacer lo que les explico en el texto de arriba no me sale (no funciona), y no se en que me equivoco.

<%

Dim variable
Dim campo
Dim campo1

campo=(request.form("segundo"))
campo1=(request.form("tercero"))
variable=(request.form("primero"))

if
campo=(request.form("segundo"))

variable=cdbl(request.form("primero")) - cdbl(request.form("segundo"))

else

variable=cdbl(request.form("primero")) - cdbl(request.form("tercero"))

end if
%>


Gracias anticipadas al que me de una mano.
  #9 (permalink)  
Antiguo 04/09/2004, 12:02
Avatar de v_i_n_i_c_i_o  
Fecha de Ingreso: noviembre-2003
Ubicación: Costa Rica
Mensajes: 422
Antigüedad: 20 años, 6 meses
Puntos: 0
tu codigo es este
<%

Dim variable
Dim campo
Dim campo1

campo=(request.form("segundo"))
campo1=(request.form("tercero"))
variable=(request.form("primero"))

if
campo=(request.form("segundo"))

variable=cdbl(request.form("primero")) - cdbl(request.form("segundo"))

else

variable=cdbl(request.form("primero")) - cdbl(request.form("tercero"))

end if
%>

creo que primero debes darte cuenta que "campo" siempre va a ser = (request.form("segundo")), siempre va a cumplir la misma condición sin importar los valores de campo, campo1 y variable.
que alguien pe corrija si me equivoco, por favor.
__________________
"Un experto es una persona que ha cometido todos los errores que se pueden cometer en un determinado campo" - Niels Bohr
:cool: 0!)!u!/\ :patada:
  #10 (permalink)  
Antiguo 04/09/2004, 14:07
 
Fecha de Ingreso: abril-2004
Ubicación: México D.F.
Mensajes: 1.724
Antigüedad: 20 años, 1 mes
Puntos: 4
Cita:
if
campo=(request.form("segundo"))
1.- No entiendo que estás validando
2.- Falta el then ... if (condicion)then


Saludos,
  #11 (permalink)  
Antiguo 04/09/2004, 14:58
 
Fecha de Ingreso: abril-2002
Mensajes: 127
Antigüedad: 22 años, 2 meses
Puntos: 0
Donde esta mi error?

Orharo, lo que yo quiero validar es que si el dato viene del campo segundo el valor de variable sea:

variable=cdbl(request.form("primero")) - cdbl(request.form("segundo"))

osea que reste el dato que viene del campo primero menos el dato que viene del campo segundo.

en caso contratio, si el dato viene del campo tercero, que variable reste el dato que viene del campo primero al dato que viene del campo tercero, y asi asignarle el valor a variable.

variable=cdbl(request.form("primero")) - cdbl(request.form("segundo"))

Espero ser claro para que me puedan ayudar.

Saludos,
  #12 (permalink)  
Antiguo 04/09/2004, 15:17
 
Fecha de Ingreso: abril-2004
Ubicación: México D.F.
Mensajes: 1.724
Antigüedad: 20 años, 1 mes
Puntos: 4
Cita:
si el dato viene del campo segundo el valor de variable sea:
if(request.form("segundo")<>"")then

variable=cdbl(request.form("primero"))- cdbl(request.form("segundo"))

elseif(request.form("tercero")<>"")then

variable=cdbl(request.form("primero"))- cdbl(request.form("tercero"))

Cita:
si el dato viene del campo tercero, que variable reste el dato que viene del campo primero al dato que viene del campo tercero, y asi asignarle el valor a variable.


Espero ser claro para que me puedan ayudar.
  #13 (permalink)  
Antiguo 06/09/2004, 17:10
 
Fecha de Ingreso: abril-2002
Mensajes: 127
Antigüedad: 22 años, 2 meses
Puntos: 0
Pregunta?

Orharo, amigo muchas gracias por tu ayuda lo que me has pasado me ha funcionado todo, lo unico que no puedo hacer funcionar es lo que me pasaste anteriromente y es lo siguiente:
No se que pasa que me tira error en esta linea:

sql = "select sum(campo) from Tabla where Otrocampo = " & session("usuario") and campo = 'NEW'
set RS = Conn.Execute(sql)
session("nombresesion") = rs("campo")


Lo que yo quiero hacer es que cuente los registros que cumplen tal condicion y que pase la cuenta en forma de numero en un session como figura arriba.
Tal ves debo tener que agregar los que tu me dices en tus lineas as alias pero no se que hay que poner donde dice alias
La base que estoy consultando esta hecha en acces.

Desde ya muchas gracias por tu ayuda amigo.
Eres un maestro del asp.
  #14 (permalink)  
Antiguo 07/09/2004, 07:41
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 4 meses
Puntos: 146
select sum(campo) as Nombre_Con_Que_Quieras_Referirte_Al_Resultado_de_L a_Funcion_Sum ...
  #15 (permalink)  
Antiguo 11/09/2004, 09:05
 
Fecha de Ingreso: abril-2002
Mensajes: 127
Antigüedad: 22 años, 2 meses
Puntos: 0
Sonrisa Donde esta el error?

Amigos alguien me puede decir donde esta el error de esto:

sql = "select Count(*) as total from Tabla where ID_Campo = " & session("CampoID") and Otrocampo=Nuevo & "'"
set RS = Conn.Execute(sql)
session("Estatus") = rs("total")

El error que me tira es este:

Error de compilación de Microsoft VBScript (0x800A03F2)
Se esperaba un identificador
sql = "select Count(*) as total from Tabla where ID_Campo = " & session("CampoID") and Otrocampo=Nuevo & "'"

Lo que yo quiero que haga es que cuente la cantidad de registros que tienen por identificador el de la sesion y que tengan en valor Nuevo, osea que cuente todos los campos con valor Nuevo pero de un usuario determinado que viene del session.

Espero que alguno me pueda ayudar con esto porque no se lo que pasa.

Gracias anticipadas al que me de una mano.
-------------------------------------------
Es mas tonto el que pregunta o el que se queda con la duda.
  #16 (permalink)  
Antiguo 11/09/2004, 11:57
Avatar de v_i_n_i_c_i_o  
Fecha de Ingreso: noviembre-2003
Ubicación: Costa Rica
Mensajes: 422
Antigüedad: 20 años, 6 meses
Puntos: 0
sql = "select Count(*) as total from Tabla where ID_Campo = '" & session("CampoID") and Otrocampo=Nuevo & "'"
set RS = Conn.Execute(sql)
session("Estatus") = rs("total")

Creo que el problema está en las comillas, cuando dices: & session("CampoID") and Otrocampo=Nuevo & , te refieres a un campo texo o número?
supuse que es texto así que debe ir entre comillas, osea "'" & valor & "'", acabo de poner una ' en tu código, no se la verdad si será eso, hace rato que no programo nada, revísalo, revisa las comillas a ver si puede ser eso
__________________
"Un experto es una persona que ha cometido todos los errores que se pueden cometer en un determinado campo" - Niels Bohr
:cool: 0!)!u!/\ :patada:
  #17 (permalink)  
Antiguo 11/09/2004, 12:05
Avatar de v_i_n_i_c_i_o  
Fecha de Ingreso: noviembre-2003
Ubicación: Costa Rica
Mensajes: 422
Antigüedad: 20 años, 6 meses
Puntos: 0
jeje, creo que metí las patas

sería más bien así... xq sino estaríamos dejando e and por fuera de la cadena de texto.
sql = "select Count(*) as total from Tabla where ID_Campo = " & session("CampoID") &" and Otrocampo='Nuevo' "
__________________
"Un experto es una persona que ha cometido todos los errores que se pueden cometer en un determinado campo" - Niels Bohr
:cool: 0!)!u!/\ :patada:
  #18 (permalink)  
Antiguo 11/09/2004, 14:38
 
Fecha de Ingreso: abril-2002
Mensajes: 127
Antigüedad: 22 años, 2 meses
Puntos: 0
Sonrisa Me tira otro error ahora.

Amigo vinicio pruebo lo que tu me dices pero me tira otro error que es el siguiente:

Tipo de error:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E07)
[Microsoft][Controlador ODBC Microsoft Access] No coinciden los tipos de datos en la expresión de criterios.

Que es esto?, la conexion con la base no puede ser porque anda, ya que uso la misma con otros script que tengo.

Gracias anticipadas al que me de una mano.
-------------------------------------------
Es mas tonto el que pregunta o el que se queda con la duda.
  #19 (permalink)  
Antiguo 12/09/2004, 10:17
Avatar de v_i_n_i_c_i_o  
Fecha de Ingreso: noviembre-2003
Ubicación: Costa Rica
Mensajes: 422
Antigüedad: 20 años, 6 meses
Puntos: 0
Si, tiene unos errorcillos, prueba esto:

sql = "select Count(*) as total from Tabla where ID_Campo = '" & session("CampoID") &"' and Otrocampo='" & Nuevo & "'"

Aquì estoy suponiendo que Nuevo es una variable y que es tipo texto al igual que CampoID, si alguna es numèrica sòlo retira la ' alrededor de la variable.
Disculpa mis errores, como te dije, hace rato no programo, estoy un poco oxidado...
__________________
"Un experto es una persona que ha cometido todos los errores que se pueden cometer en un determinado campo" - Niels Bohr
:cool: 0!)!u!/\ :patada:
  #20 (permalink)  
Antiguo 12/09/2004, 13:43
 
Fecha de Ingreso: abril-2002
Mensajes: 127
Antigüedad: 22 años, 2 meses
Puntos: 0
Sonrisa Sigue dando error?

Amigo Vinicio, me sigue tirando error me tira el siguiente error:

Tipo de error:
Error de compilación de Microsoft VBScript (0x800A03F2)
Se esperaba un identificador
línea 25, columna 108

sql = "select Count(*) as total from Tabla where ID_Campo = " & session("CampoID") &" and Otrocampo='" & Nuevo & "'"

La columna 108 es donde dice Otrocampo(columna 108)=
El CampoID es numerico asi que como tu me dices le saco la comilla simple y el campo Otrocampo es Texto así que lo pongo como tu me dices.

Sigue programando que no estas para nada oxidado, lo que me has pasado ha funcionado.

Gracias anticipadas al que me de una mano.
----------------------------------------------------------
Es mas tonto el que pregunta o el que se queda con la duda.
  #21 (permalink)  
Antiguo 13/09/2004, 08:31
Avatar de v_i_n_i_c_i_o  
Fecha de Ingreso: noviembre-2003
Ubicación: Costa Rica
Mensajes: 422
Antigüedad: 20 años, 6 meses
Puntos: 0
revisa que la variable session("CampoID") sea numérica (hay una función para eso, la puedes encontrar aquí en el foro, ya la he visto), un posible error es que al tomar el dato del campo de texto lo reconoce como texto y el campo de la base de datos es numérico. otro error que puede ocurrir(es un poco sin gracia, pero a veces pasa), es que dejes espacio en Otrocampo = '" & Nuevo & "'" me ocurrió una vez que me dió un error por algo así. revisa eso y me cuentas
__________________
"Un experto es una persona que ha cometido todos los errores que se pueden cometer en un determinado campo" - Niels Bohr
:cool: 0!)!u!/\ :patada:
  #22 (permalink)  
Antiguo 14/09/2004, 08:04
 
Fecha de Ingreso: abril-2002
Mensajes: 127
Antigüedad: 22 años, 2 meses
Puntos: 0
Sonrisa Ahi andubo.

Amigo Vinicio ahi andubo, andubo de esta manera, te paso la linea para que la veas por si te sirve:

sql = "select Count(*) as total from Tabla where ID_Campo = " & session("CampoID") &" and Otrocampo='Nuevo' "

De esta manera anda.

Te hago una pregunta por si lo sabes, Cómo hago para poner bien lo siguiente

if(request.form("nombrecampo")="R")then

variable=5

Lo que yo quiero poner es que si el rquest form viene del campo especificado y vale R (R es el valor que tiene el request.form), el valor de variable sea 5 supongamos. Me explico. Lo que no se como hacer es como poner bien lo que te paso arriba, porque lo que te paso no funciona. El problema esta en este lugar request.form("nombrecampo")="R") me parece que esta mal puesto algo o los ) o las comillas.

Saludos y gracias anticipadas.
----------------------------------------------------------
Es mas tonto el que pregunta o el que se queda con la duda.
  #23 (permalink)  
Antiguo 14/09/2004, 09:48
Avatar de v_i_n_i_c_i_o  
Fecha de Ingreso: noviembre-2003
Ubicación: Costa Rica
Mensajes: 422
Antigüedad: 20 años, 6 meses
Puntos: 0
prueba así:

if (request.form("nombrecampo")) = "R" then

yo probaría también con esto:

variable = request.form("nombrecampo")

if variable = "R" then
...
__________________
"Un experto es una persona que ha cometido todos los errores que se pueden cometer en un determinado campo" - Niels Bohr
:cool: 0!)!u!/\ :patada:
  #24 (permalink)  
Antiguo 14/09/2004, 09:53
Avatar de v_i_n_i_c_i_o  
Fecha de Ingreso: noviembre-2003
Ubicación: Costa Rica
Mensajes: 422
Antigüedad: 20 años, 6 meses
Puntos: 0
con respecto al a consulta sql, disculpa, te entendí que "Nuevo" era una variable, y era texto, aveces soy un poco distraido, jeje...
__________________
"Un experto es una persona que ha cometido todos los errores que se pueden cometer en un determinado campo" - Niels Bohr
:cool: 0!)!u!/\ :patada:
  #25 (permalink)  
Antiguo 16/09/2004, 14:28
 
Fecha de Ingreso: abril-2002
Mensajes: 127
Antigüedad: 22 años, 2 meses
Puntos: 0
Sonrisa Me funciono así.

Amigo Vinicio me funciono así, te lo posteo por si te sirve:

if request.form("nombrecampo")="R" then

variable= request.form("campo")

elseif request.form("otrocampo")="O" then

variable= request.form("campo")

end if

Sabes algo de Paginacion de Campos? Porque tengo un script que no me fun ciona, y no se ¿por que?

Saludos y gracias anticipadas.
----------------------------------------------------------
Es mas tonto el que pregunta o el que se queda con la duda.
  #26 (permalink)  
Antiguo 16/09/2004, 14:36
Avatar de v_i_n_i_c_i_o  
Fecha de Ingreso: noviembre-2003
Ubicación: Costa Rica
Mensajes: 422
Antigüedad: 20 años, 6 meses
Puntos: 0
No amigo, ahí si te quedo mal, en realidad hasta ahora me estoy metiendo de nueo en la programación, estoy un poco desactualizado. Disculpa.
Si averiguo algo te aviso.

Este tema ya tiene varias respuestas, por lo que es posible que los usuarios que brindan ayuda no lean todos los comentarios, talvez no vean el que acabas de escribir.

Te recomiendo que busques en el foro sobre paginación y preguntes a l@s muchach@s. Si no encuentras crea uno nuevo y pregunta por paginación, seguro que alguien te responde.
__________________
"Un experto es una persona que ha cometido todos los errores que se pueden cometer en un determinado campo" - Niels Bohr
:cool: 0!)!u!/\ :patada:
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 01:47.