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

Hermanos ayudenme con esto???

Estas en el tema de Hermanos ayudenme con esto??? en el foro de ASP Clásico en Foros del Web. Queridos hermano tengo mas de 2 semanas estoy intentado hacer que creo que es simple pero no me sale, y es que necesito MULTIPLICAR UN ...
  #1 (permalink)  
Antiguo 10/02/2003, 06:50
Avatar de 8461277  
Fecha de Ingreso: diciembre-2002
Ubicación: san juan de los morros
Mensajes: 887
Antigüedad: 22 años, 5 meses
Puntos: 1
Hermanos ayudenme con esto???

Queridos hermano tengo mas de 2 semanas estoy intentado hacer que creo que es simple pero no me sale, y es que necesito MULTIPLICAR UN NUMERO QUE PROVIENE DE UN FORMULARIO CON OTRO QUE DEBEO RECOGER DE UNA BD? COMO LO HAGO????

EN EL FORMULARIO EL CAMPO SE LLAMA CANTIDAD Y EN LA BD SE LLAMA PRECIO, LO QUE QUIERO ES MULTIPLICAR ESTO DOS NUMEROS PARA OBTENER EL PRECIO TOTAL DEL PRODUCTO

POR FAVOR AYUDENME, ME HAN DADO ALGUNOS CONSEJOS PERO NO ME SALE

MIGUEL
  #2 (permalink)  
Antiguo 10/02/2003, 08:12
Avatar de epa2  
Fecha de Ingreso: abril-2002
Ubicación: Málaga
Mensajes: 1.475
Antigüedad: 23 años
Puntos: 9
¿POR QUE NO PONES ALGO DEL CÓDIGO QUE HAS HECHO PARA QUE VEAMOS DONDE ESTÁ EL ERROR????
__________________

***Aprendiz de todo y maestro de nada***
  #3 (permalink)  
Antiguo 10/02/2003, 08:32
Avatar de 8461277  
Fecha de Ingreso: diciembre-2002
Ubicación: san juan de los morros
Mensajes: 887
Antigüedad: 22 años, 5 meses
Puntos: 1
El codigo que utilizo es este, se que el lugar donde quiero que se haga la multiplicacion no es la adecuada, solo quiero saber como se hace para despues colocarlo en el lugar que corresponda:

<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 LA CONSULTA</B></font></td>
</tr>
</table>
</center>
</div>

<%
'AQUI COMPARAMOS EL CODIGO PARA VER SI EXISTE
Codigo=request.form("Codigo")
set rs=createobject("ADODB.Recordset")
sqltxt="select foto,Codigo,Descripcion,Cantidad,Precio from Producto where Codigo like '%"&Codigo&"%'"
rs.open sqltxt,"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\inetpub\asp\graciela.mdb;"%>

<%
'AQUI ENTRA LA CANTIDAD QUE SE VA A RESTAR CON LA CANTIDAD DE BD
cantidadx = Request.Form ("cantidadx")
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,Cantidad from Producto where codigo = "&codigo&" ; "
SET Obj_RS = Obj_Conn.Execute(strSQL)
'IF NOT Obj_RS.EOF THEN
SQL = "update Producto set cantidad=Cantidad-"&cantidadx&" where codigo = "& Obj_RS("codigo") & " ;"

Obj_Conn.Execute(SQL)
'end if%>
<%total=request.form("cantidadx")*rs("Precio")

<CENTER>
<%if rs.eof then%>

<h3 align="center">
<font color="#FF0000">No hay datos que coincidan con su petición </font></h3>
<%else%>
<table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="90" alt="70">
<tr>
<td width="20%" valign="middle" align="center" bgcolor="#FFFFFF">
<font color="#000000"><font Size="5"><%=rs("Cantidad")%></font></td>
<td width="100%"><img src="<%=rs("foto")%>"width="90" alt="70" >"
</td>
<BR>

<table border="0" width="50%">
<tr>
<th width="20%" valign="middle" align="center" bgcolor="#008080">
<font color="#000000">Codigo</font></th>
<th width="20%" valign="middle" align="center" bgcolor="#008080">
<font color="#000000">Descripcion</font></th>
<th width="20%" valign="middle" align="center" bgcolor="#008080">
<font color="#000000">Cantidad</font></th>
<th width="20%" valign="middle" align="center" bgcolor="#008080">
<font color="#000000">Precio</font></th>
</tr>
<%do while not rs.eof%>
<tr>
<td width="20%" valign="middle" align="center" bgcolor="#FFFFFF">
<font color="#000000"><font Size="5"><%=FormatNumber((rs("Codigo").Value), 0, -2, -1, -1)%></font></td>
<td width="20%" valign="middle" align="center" bgcolor="#FFFFFF">
<font color="#000000"><font Size="5"><%=rs("Descripcion")%></font></td>
<td width="20%" valign="middle" align="center" bgcolor="#FFFFFF">
<font color="#000000"><font Size="5"><%=rs("Cantidad")%></font></td>
<td width="20%" valign="middle" align="center" bgcolor="#FFFFFF">
<font color="#000000"><font Size="5"><%=rs("Precio")%></font></td>
</tr>

<%rs.movenext
loop
rs.close
end if%>
<%
obj_Conn.Close
Set rs = Nothing
Set obj_Conn = Nothing
%>
</table>
</CENTER>
<p> </p>
<p align="center"><a href="fconsultagraciela2.html">Otra vez</a></p>
</body>

Este codigo consulta y modifica a la vez, es decir consulta de acurdo a un codigo y con la cantidad que se introduce se actualiza del inventario(SABES ME DIJERON QUE NO SE PODIA HACER) pero a mi me funciona.

Tambien quiero saber que una vez que se regresa al formulario a la hora de consultar otra vez toma el valor de la cantidad anterior y no la nueva cantidad, ENTOCES YO CREO QUE UNO DEBE BORRAR LA MEMORIA PARA UTILIZAR UNA NUEVA CANTIDAD???
Espero que me halla explicado

Ayudenme plissssss

Miguel venezuela

Última edición por 8461277; 10/02/2003 a las 08:35
  #4 (permalink)  
Antiguo 10/02/2003, 08:38
 
Fecha de Ingreso: enero-2003
Ubicación: Caracas
Mensajes: 439
Antigüedad: 22 años, 3 meses
Puntos: 0
Aqui te va




claro está debe primero abrir la base de datos.

prueba con esto haber si te resulta ya que a mi me resultó

******************
dim cant, pre, pretotal

cant= (request.form("cantidad"))
pre= el campo de la base de datos que se llama precio

eje: pre= rs("precio")

pretotal= cant*pre

response.write (pretotal)

espero que te sirva y gracias por la ayuda prestada resolvio mi problema hermano.

Fabian Olmos de Venezuela.
  #5 (permalink)  
Antiguo 10/02/2003, 10:20
Avatar de 8461277  
Fecha de Ingreso: diciembre-2002
Ubicación: san juan de los morros
Mensajes: 887
Antigüedad: 22 años, 5 meses
Puntos: 1
Gracias por contestar, somos del mismo pais, sabe que estoy a tus ordenes en Guarico, coloque el codigo que me diste y quedo asi:

<%
dim pre,cant,pretotal
'AQUI COMPARAMOS EL CODIGO PARA VER SI EXISTE
Codigo=request.form("Codigo")
set rs=createobject("ADODB.Recordset")
sqltxt="select foto,Codigo,Descripcion,Cantidad,Precio from Producto where Codigo like '%"&Codigo&"%'"
rs.open sqltxt,"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\inetpub\asp\graciela.mdb;"%>

<%
'AQUI ENTRA LA CANTIDAD QUE SE VA A RESTAR CON LA CANTIDAD DE BD
cantidadx = Request.Form ("cantidadx")
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,Cantidad from Producto where codigo = "&codigo&" ; "
SET Obj_RS = Obj_Conn.Execute(strSQL)
'IF NOT Obj_RS.EOF THEN
SQL = "update Producto set cantidad=Cantidad-"&cantidadx&" where codigo = "& Obj_RS("codigo") & " ;"

Obj_Conn.Execute(SQL)
cant=(request.form("cantidadx"))
pre=rs("Precio")
pretotal=cant*pre
response.write (pretotal)

Pero me arroja el siguiente error:

Tipo de error:
Error de Microsoft VBScript en tiempo de ejecución (0x800A000D)
No coinciden los tipos
/asp/consultamodificagraciela.asp, línea 48

y en la linea 48 esta: pretotal=cant*pre

Sera que no va en esa parte del codigo????? o que es lo que pasa, ayudanme por fa?????

Miguel Venezuela
  #6 (permalink)  
Antiguo 10/02/2003, 11:04
 
Fecha de Ingreso: mayo-2001
Mensajes: 87
Antigüedad: 24 años
Puntos: 0
Haz probado si es que realmente te arroja algun dato request.form("cantidadx") y en rs("Precio")?????????

osea ponelos en un response.write, para que estes seguro que tienen datos alomejor estan vacios.

lo otro creo que hay que poner algo de CSng .


total=CSng(request.form("cantidadx") * rs("Precio"))


O lo otro que ya seria algo chistoso seria
pre=rs("Precio")
pretotal=cant*pre <------- esta junto el *
response.write (pretotal)

te fijas que * esta todo junto

prueba asi:

pre=rs("Precio")
pretotal=cant * pre
response.write (pretotal)
  #7 (permalink)  
Antiguo 10/02/2003, 11:44
 
Fecha de Ingreso: enero-2003
Ubicación: Caracas
Mensajes: 439
Antigüedad: 22 años, 3 meses
Puntos: 0
consejo




prueba en la bd si el tipo de dato que esta en la base de datos es realmente numerico sino prueva esto:


cant= cstr(request.form("cantidad"))



sino asegurate de como estas trabkjando los tipos de datos o mandalos a escribir porque a lo mejor cant no te esta tomando el valor que contiene el text y por eso te da ese error.



bien
  #8 (permalink)  
Antiguo 10/02/2003, 12:04
Avatar de 8461277  
Fecha de Ingreso: diciembre-2002
Ubicación: san juan de los morros
Mensajes: 887
Antigüedad: 22 años, 5 meses
Puntos: 1
Hola amigo e hecho lo que me pediste y no me sale nada solo puedo visualizar los dos numeros que quiero multiplicar pero no lo hace, el codigo quedo asi:

cant=request.form ("cantidadx")
response.write (cant)
pre=rs("Precio")
response.write (pre)

Hasta aqui va bien, porque se ven los numeros, pero cuando aplico la formula:

pretotal= cant * pre
response.write (pretotal)

Me sale esl siguiente error:

Tipo de error:
Error de Microsoft VBScript en tiempo de ejecución (0x800A000D)
No coinciden los tipos


Que pasa,,, Ayudenme

Miguel
  #9 (permalink)  
Antiguo 10/02/2003, 12:10
Avatar de epa2  
Fecha de Ingreso: abril-2002
Ubicación: Málaga
Mensajes: 1.475
Antigüedad: 23 años
Puntos: 9
No lo entiendo, debería de funcionar.

no se.
__________________

***Aprendiz de todo y maestro de nada***
  #10 (permalink)  
Antiguo 10/02/2003, 12:16
 
Fecha de Ingreso: enero-2002
Ubicación: Dentro del corralón
Mensajes: 287
Antigüedad: 23 años, 4 meses
Puntos: 0
Prueba con pequeña variante.

Yo probaría de la siguiente manera:
Tomando lo que puso Webpedaler pero con una pequeña modificación.
total=CSng(request.form("cantidadx")) * rs("Precio")

O sea, convertir lo que viene del request.form y luego hacer la multiplicación.
Probá a ver que sale.
__________________
Leonardo D'Angelo
  #11 (permalink)  
Antiguo 10/02/2003, 12:20
Avatar de 8461277  
Fecha de Ingreso: diciembre-2002
Ubicación: san juan de los morros
Mensajes: 887
Antigüedad: 22 años, 5 meses
Puntos: 1
Fabian me sigue dando error: se ven los dos numeros pero no puedo multiplicarlos, yt si son los dos campos numericos, ya que uno viene de un formulario que es(cantidadx) y el otro de una BD en access que es (Precio). Me puedes ayudar??? voy saliendo de mi oficina pero mañana temprano vuelvo estar aqui, haber si me pueden ayudar. Gracias Miguel
NOTA: el formulario que utilizo es este:
<html>

<head>

<title>Formulario para consulta sencilla</title>
</head>

<body OnLoad="javascript:document.fconsultagraciela2.Cod igo.focus();">
<h3 align="center">consulta sencilla</h3>
<p>&nbsp;</p>
<form method="POST" action="consultamodificagraciela.asp" name="fconsultagraciela2" AUTOCOMPLETE="OFF">
<table border="1" width="100%">
<tr>
<td width="16%">CODIGO:</td>
<td width="84%"><input type="text" name="Codigo" size="20"></td>
</tr>
<TR>
<TD>CANTIDAD:</TD>
<TD><INPUT TYPE="text" NAME="cantidadx" SIZE="20" MAXLENGTH="30"></TD>
</TR>
<td width="16%"><input type="submit" value="Enviar" name="B1"></td>
<td width="84%"><input type="reset" value="Restablecer" name="B2"></td>
</tr>
</table>
</form>

Cita:
Mensaje Original por 8461277
Hola amigo e hecho lo que me pediste y no me sale nada solo puedo visualizar los dos numeros que quiero multiplicar pero no lo hace, el codigo quedo asi:

cant=request.form ("cantidadx")
response.write (cant)
pre=rs("Precio")
response.write (pre)

Hasta aqui va bien, porque se ven los numeros, pero cuando aplico la formula:

pretotal= cant * pre
response.write (pretotal)

Me sale esl siguiente error:

Tipo de error:
Error de Microsoft VBScript en tiempo de ejecución (0x800A000D)
No coinciden los tipos


Que pasa,,, Ayudenme

Miguel

Última edición por 8461277; 10/02/2003 a las 12:23
  #12 (permalink)  
Antiguo 11/02/2003, 06:30
Avatar de 8461277  
Fecha de Ingreso: diciembre-2002
Ubicación: san juan de los morros
Mensajes: 887
Antigüedad: 22 años, 5 meses
Puntos: 1
Perdona por insistir

AYUDENME????????

Cita:
Mensaje Original por 8461277
Fabian me sigue dando error: se ven los dos numeros pero no puedo multiplicarlos, yt si son los dos campos numericos, ya que uno viene de un formulario que es(cantidadx) y el otro de una BD en access que es (Precio). Me puedes ayudar??? voy saliendo de mi oficina pero mañana temprano vuelvo estar aqui, haber si me pueden ayudar. Gracias Miguel
NOTA: el formulario que utilizo es este:
<html>

<head>

<title>Formulario para consulta sencilla</title>
</head>

<body OnLoad="javascript:document.fconsultagraciela2.Cod igo.focus();">
<h3 align="center">consulta sencilla</h3>
<p>&nbsp;</p>
<form method="POST" action="consultamodificagraciela.asp" name="fconsultagraciela2" AUTOCOMPLETE="OFF">
<table border="1" width="100%">
<tr>
<td width="16%">CODIGO:</td>
<td width="84%"><input type="text" name="Codigo" size="20"></td>
</tr>
<TR>
<TD>CANTIDAD:</TD>
<TD><INPUT TYPE="text" NAME="cantidadx" SIZE="20" MAXLENGTH="30"></TD>
</TR>
<td width="16%"><input type="submit" value="Enviar" name="B1"></td>
<td width="84%"><input type="reset" value="Restablecer" name="B2"></td>
</tr>
</table>
</form>

  #13 (permalink)  
Antiguo 11/02/2003, 09:54
Avatar de 8461277  
Fecha de Ingreso: diciembre-2002
Ubicación: san juan de los morros
Mensajes: 887
Antigüedad: 22 años, 5 meses
Puntos: 1
Gracias amigos, ya lo resolvi!!!!!!!!

Miguel
  #14 (permalink)  
Antiguo 11/02/2003, 10:03
 
Fecha de Ingreso: mayo-2001
Mensajes: 87
Antigüedad: 24 años
Puntos: 0
Cuentanos que es lo que era

se me olvido escribir que una vez me arrojo error al querer multiplicar por que un dato venia con espacios en blanco puse un Trim
  #15 (permalink)  
Antiguo 11/02/2003, 10:07
Avatar de 8461277  
Fecha de Ingreso: diciembre-2002
Ubicación: san juan de los morros
Mensajes: 887
Antigüedad: 22 años, 5 meses
Puntos: 1
Veriificar si en tu tabla de access los campos tienen la misma propiedad, es decir que los campos a multiplicar son enteros, decimales, etc.....

Asi fue que lo pude resolver!!!!!!! Que cosas no????


Miguel
  #16 (permalink)  
Antiguo 12/02/2003, 02:16
Avatar de epa2  
Fecha de Ingreso: abril-2002
Ubicación: Málaga
Mensajes: 1.475
Antigüedad: 23 años
Puntos: 9
Bueno, me alegro de que lo resolvieras,

A veces los grandes problemas se resuelven con pequeñas detalles.

Hasta pronto amigo.
__________________

***Aprendiz de todo y maestro de nada***
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 08:13.