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

Desde Formulario

Estas en el tema de Desde Formulario en el foro de ASP Clásico en Foros del Web. HOLA QUIERO SABER COMO PUEDO RESTAR UN NUMERO QUE SE ENCUENTRA EN UNA BASE DE DATO CON UN NUMERO QUE YO ENVIO DESDE UN FORMULARIO, ...
  #1 (permalink)  
Antiguo 23/01/2003, 11:56
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
Desde Formulario

HOLA QUIERO SABER COMO PUEDO RESTAR UN NUMERO QUE SE ENCUENTRA EN UNA BASE DE DATO CON UN NUMERO QUE YO ENVIO DESDE UN FORMULARIO, EL CODIGO QUE ESTOY UTILIZANDO ES EL SIGUIENTE:

<html>
<body>
<%
'Declaracion de variables
Dim Obj_Conn
Dim Obj_RS
Dim codigo
Dim cantidad
Dim strSQL

'Fin declaracion de variables

codigo = Request.Form ("codigo")
cantidad = Request.Form ("Cantidad")


SET Obj_Conn = Server.CreateObject("ADODB.Connection")

Obj_Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\inetpub\asp\graciela.mdb;"

'Suponiendo que la Tabla se llamada PRODUCTO y el campo codigo, comprobamos que producto existe.
strSQL = "select codigo from Producto where codigo = "&codigo&" ; "

SET Obj_RS = Obj_Conn.Execute(strSQL)

IF NOT Obj_RS.EOF THEN
SQL = "update Producto set cantidad=Cantidad-cantidad where codigo = "& Obj_RS("codigo") & " ;"
response.write "sql actualiza=" & SQL
Obj_Conn.Execute(SQL)
response.write "Los datos del PRODUCTO se han actualizado correctamente"
ELSE
response.write "El usuario EL PRODUCTO en la base de datos"
END IF
Obj_RS.Close
Obj_Conn.Close
SET Obj_RS = Nothing
SET Obj_Conn = Nothing
%>

</body>
</html>

solo se resta el campo cantidad - cantidad, el formulario tiene los campos codigo y cantidad. La bd tiene el campo cantidad que es el campo que quiero recuperar y restar con el campo que viene desde el formulario para actalizar la bd con el nuevo resultado y asui sucesivamente.......
por favor ayudenme.... miguel...

1000 gracias
  #2 (permalink)  
Antiguo 23/01/2003, 12:26
Avatar de bakanzipp  
Fecha de Ingreso: noviembre-2001
Ubicación: santiago de shilli
Mensajes: 2.554
Antigüedad: 22 años, 7 meses
Puntos: 0
pasa los valores a enteros y haz la resta antes de hacer el update

Código:
Dim nuevo_valor

strSQL = "select cantidad from Producto where codigo = "&codigo&" ; "

SET Obj_RS = Obj_Conn.Execute(strSQL)

IF NOT Obj_RS.EOF THEN
 nuevo valor = Cint(Request.Form ("Cantidad")) - Cint(Obj_Rs("cantidad"))

SQL = "update Producto set cantidad="& nueva_cantidad &" where codigo = "& Obj_RS("codigo") & " ;"
...
...
  #3 (permalink)  
Antiguo 24/01/2003, 07:43
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
Estmado bakan......

E realizado lo que tu me propusiste y no e tendido el resultado que yo esperaba me arroja el siguiente error:

Tipo de error:
ADODB.Recordset (0x800A0CC1)
No se encontró el elemento en la colección que corresponde con el nombre o el ordinal pedido.
/asp/modificargraciela.asp, línea 30


Lo e modificado varias veces y nada en la linea 30 esta lo siguiente con el codigo completo:
(LINEA 30)
SQL = "update Producto set cantidad="& cantidad &" where codigo = "& Obj_RS("codigo")& ";"
EL CODIGO COMPLETO:
<html>
<body>
<%
'Declaracion de variables
Dim Obj_Conn
Dim Obj_RS
Dim codigo
Dim cantidad
Dim strSQL

'Fin declaracion de variables

codigo = Request.Form ("codigo")
cantidad = Request.Form ("Cantidad")


SET Obj_Conn = Server.CreateObject("ADODB.Connection")

Obj_Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\inetpub\asp\graciela.mdb;"

'Suponiendo que la Tabla se llamada PRODUCTO y el campo codigo, comprobamos que producto existe.
'strSQL = "select codigo from Producto where codigo = "&codigo&" ; "
strSQL = "select cantidad from Producto where codigo = "&codigo&" ; "
SET Obj_RS = Obj_Conn.Execute(strSQL)

IF NOT Obj_RS.EOF THEN
Cantidad = Cint(Request.Form ("Cantidad")) - Cint(Obj_Rs("cantidad"))

'SQL = "update Producto set cantidad="& cantidad &" where codigo = "& Obj_RS("codigo") & " ;"
SQL = "update Producto set cantidad="& cantidad &" where codigo = "& Obj_RS("codigo")& ";"
response.write "sql actualiza=" & SQL
Obj_Conn.Execute(SQL)
response.write "Los datos del PRODUCTO se han actualizado correctamente"
ELSE
response.write "El usuario EL PRODUCTO en la base de datos"
END IF
Obj_RS.Close
Obj_Conn.Close
SET Obj_RS = Nothing
SET Obj_Conn = Nothing
%>

</body>
</html>

QUE PASO, SERA QUE NO LO PUSE BIEN?????

MIGUEL
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:28.