Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/05/2003, 06:06
mmbenitez
 
Fecha de Ingreso: marzo-2003
Mensajes: 11
Antigüedad: 22 años
Puntos: 0
Pregunta Insertar un campo en dos tablas

Esto es lo que tengo, al final estan las preguntas, si veis algo mal aparte de lo que yo he visto, corregidme.

BASE DE DATOS
inventario
idstock idproducto stock alerta

idstock: Clave principal (autonumerico)
idproducto: numerico, indexado=Si, con duplicados
stock: numerico
alerta: numerico

productos
idproducto nombre precio

idproducto: Clave principal (autonumerico)
nombre: texto
precio: numerico
__________________________________________________ ____________________
PAGINAS.ASP
Pagina 1: db.asp ( Con esta pagina se realiza la conexión con la base de datos)
Pagina 2: formularioinventario.asp (Con esta pagina se obtienen mediante un formulario los valores de los campos stock y alerta)
Pagina 3: formularioproductos.asp (Con esta pagina se obtienen mediante un formulario los valores de los campos nombre y precio)
Pagina 4: stock.asp
Pagina 5: productos.asp
__________________________________________________ ____________________

Pagina 1: db.asp ( Con esta pagina se realiza la conexión con la base de datos)

<!-- #include file="adovbs.inc" -->
<%

dim db
dim strConn


strConn = "constock"
Set db = Server.CreateObject("ADODB.Connection")
db.open strConn
%>

Pagina 2: formularioinventario.asp
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<html>
<head>
<title> formularioinventario </title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<center>
<form method="POST" action="stock.asp">
<table>
<tr>
<td>Stock</td>
<td><input size=20 name="stock" value="<%= stock %>" maxlength=100></td>
</tr>
<tr>
<td>Alerta</td>
<td><input size=20 name="alerta" value="<%= alerta %>" maxlength=100></td>
</tr>
</table>
<input type="submit" value="Enviar">
</form>


</body>
</html>
Pagina 3: formularioproductos.asp
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<html>
<head>
<title> formularioproductos </title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<center>
<form method="POST" action="productos.asp">
<table>
<tr>
<td>Nombre</td>
<td><input size=20 name="nombre" value="<%= nombre %>" maxlength=100></td>
</tr>
<tr>
<td>Precio</td>
<td><input size=20 name="precio" value="<%= precio %>" maxlength=100></td>
</tr>
</table>
<input type="submit" value="Enviar">
</form>
</body>
</html>

Pagina 4: stock.asp
<%@ LANGUAGE = "VBScript" %>
<!-- #include file="db.asp" --> (Establece conexion con la base de datos)

<% Set rsstock = Server.CreateObject("ADODB.RecordSet")

' Ahora ahi que abrir la tabla inventario
rsstock.Open "inventario", strConn, adOpenKeySet, adLockPessimistic, adCmdTable

' Añado un nuevo registro
rsstock.AddNew
rsstock ("stock") = Request.Form (“stock”)
rsstock ("alerta") = Request.Form ("alerta")
' Actualizar el registro
rsstock.update
' Obtener la idstock
idstock = rsstock("idstock")
' Cierro el Recordset
rsstock.Close
Set rsstock = Nothing %>
<html>
<head>
<title>stock</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
</body>
</html>

<%‘ Cierro la conexion con la base de datos
db.close
set db=nothing
%>
Pagina 5: productos.asp
<%@ LANGUAGE = "VBScript" %>
<!-- #include file="db.asp" --> (Establece conexion con la base de datos)

<% Set rsproductos = Server.CreateObject("ADODB.RecordSet")

' Ahora ahi que abrir la tabla productos
rsproductos.Open "productos", strConn, adOpenKeySet, adLockPessimistic, adCmdTable

' Añado un nuevo registro
rsproductos.AddNew
rsproductos ("nombre") = Request.Form (“nombre”)
rsproductos ("precio") = Request.Form ("precio")
' Actualizar el registro
rsproductos.update
' Obtener la idproducto
idproducto = rsproductos ("idproducto")
' Cierro el Recordset
rsproducto.Close
Set rsproductos = Nothing %>
<html>
<head>
<title>stock</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
</body>
</html>

<%‘ Cierro la conexion con la base de datos
db.close
set db=nothing
%>

SUPONGAMOS QUE LA PAGINA POR LA QUE EMPEZAMOS LA APLICACIÓN ES: Pagina 3: formularioproductos.asp
__________________________________________________ ____________________

PREGUNTAS:
- ¿Podria tener en una sola pagina ambos formularios y poder insertar los valores de los campos de las distintas tablas al mismo tiempo?
- Al rellenar los campos del formulario en la pagina formularioproductos.asp, haciendo click en Enviar se carga la pagina productos.asp, ¿Cómo podria hacer para que cuando se terminase de cargar se cargase automaticamente la pagina formularioinventario.asp?
- ¿ Como tendria que hacer para que al insertar un producto en la tabla producto, la idproducto que se le asigne en la tabla productos, pase tambien a la tabla inventario y que el stock y la alerta que yo introduzca en la pagina formularioinventario.asp se introduzca en la tabla inventario donde la idproducto sea la misma de la tabla producto, es decir, que el stock y la alerta correspondan al prducto que se envio mediante el formularioproductos.asp?

<<<<<<<<<<<<<<<<<< GRACIAS POR ADELANTADO>>>>>>>>>>>>>>>>>>>>


-
La tabla inventario tiene en comun con la tabla productos el campo idproducto,
¿ Como tendria que hacer para que cuando