Formulario de stock

Como estas
Mi pregunta:
Estoy trabajando con un formulario tiene apenas dos campos que hay que editar: cantidad de retiro de productos y observación. Necesito validar el formulario para que cantidad de retiro ingresada en el formulario sea menor que el STOCK de mi base de datos
Y algo sencillo también que no sea un numero negativo, carácter
2

2 Respuestas

22.775 pts.
Con ASP (o con cualquier otro lenguaje script php, jsp...) es sencillo realizar la comparación de las unidades ingresadas en el formulario con tu stock de la base de datos.
1. Recoge el valor del stock accediendo a la bbdd :
Ficheros necesarios : (Bd.inc, ejemplo.asp)
Bd. Inc ------NOS PERMITE ABRIR Y CERRAR LA BD FÁCILMENTE CON 1 FUNCIÓN--------
<!-- #INCLUDE File="ADOVBS.inc" -->
<%
' **** FUNCIONES DE SERVIDOR ****
Sub AbreBD(cnnBD)
' Abrir conexion a base de datos
Set cnnBD = Server.CreateObject("ADODB.Connection")
cnnBD.ConnectionTimeout = 10
cnnBD.CommandTimeout = 10
cnnBD.Provider = "SQLOLEDB"
cnnBD.Properties("Data Source").Value = "NOMBRE_SERVER"
cnnBD.Properties("Initial Catalog").Value = "DATABASE"
cnnBD.Properties("User ID").Value = "USUARIO"
cnnBD.Properties("Password").Value = "PASSWORD"
cnnBD.Open
end sub
Sub CierraBD(cnnBD)
' Cerrar conexion a base de datos
cnnBD.close
Set cnnBD = Nothing
end sub
EOF Bd.inc -----------------------------------------------------------
Bastaría con poner en la página ASP una llamada a als funciones AbreBD y CierraBD como veras posteriormente.
Fichero EJEMPLO.ASP --------------recoge el dato y permite q siga o no el proceso
<%@ LANGUAGE=VBScript%>
<%option explicit%>
<!-- #INCLUDE File="includes\BD.inc" -->
<%
Dim cnnBD
Dim strSql
Dim rstDatos
Dim id
Dim DATO_STOCKS
call AbreBD(cnnBD) ' APERTURA BD
set rstDatos = Server.CreateObject("ADODB.RecordSet")
strsql = "SELECT stocks_unidades from tabla"
rstDatos.open strSql,cnnBD, adOpenKeyset, adLockPessimistic
DATO_STOCKS = rstDatos.fields("stocks_unidades")
%>
<html> blablabla
<scipt language=javascript>
function Compara(stocks) {
var unidades= document.nombre_form.nombre_campo.value;
if (parseInt(unidades) > stocks) {
alert('Actualmente no hay stock');
}
}
</script>
<form name="nombre_form" method="post" action="">
<input type="text" name="unidades" size="4" maxlength="4">
<input type="submit" name="Submit" value="enviar" onSubmit=javascript:Compara("<%=DATO_STOCKS%>")>
</form>
<% call CierraBD(cnnBD)%> 'Cierre BD
Eof ejemplo.ASP --------------
No se si eso te servirá, pero si eso me lo dices.
Muchas gracias, ffue de mucha ayuda, y funcionó a la perfección, el problema que tenía era que me hallaba perdido en el código que genera Ultradev. Gracias ya lo solucioné.
163.525 pts.
Tienes que armar un recordset en asp y tomar los registros de la base
Después que abriste la conexión con la base de datos (estoy hablando en la página que aparece después del envío del formulario) tienes que hacer la comprobación
Primero antes que el html crea dos variables de sesión con el contenido de los campos del form de esta manera
session("campo1") = request("campo1")
session("campo2") = request("campo2")
Ahora que tienes almacenado los valores que envío el form tienes que armar una comprobación
Si el valor de la session es menor que el campo stock de la base, entonces que haga el insert sino que muestre un mensaje de error o redireccione a una página
Este no es el codigo pero es solo una estructura
if session("campo1") < rs.field.stock then
insert into.......
else
Response.Write("mensaje de error")
Si sabes algo de asp lo vas a poder hacer, sino va a ser difícil porque no conozco nada sobre tu base de datos, etc.
Cualquier cosa me avisas

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas