
24/10/2004, 23:01
|
| | Fecha de Ingreso: octubre-2004
Mensajes: 1
Antigüedad: 20 años, 6 meses Puntos: 0 | |
insertar un variable de una consulta en el insert hola que tal necesito ayuda con respecto a lo siguiente
tengo dos tablas en acces una se llama producto cuyo campos son idproducto, descripcion e idcategoria y una tabla categoria cuyos campos serian: idcategoria y nomcategoria el problema surge cuando intento insertar un nuevo producto ya que en el formulario hay un select que toma los nombre de las categorias y las muestra:
codigo siguiente:
<form method="POST" action="crear_libro.asp">
<p> </p>
<p><b><font color="#000000">
<input type="text" name="T2" size="20">
</font></b> </p>
<p>
<input type="text" name="T3" size="20"> <b> </b> </p>
<p>
<select name="S1" id="S1">
<%
Do While Not ObjRecordset.EOF
%>
<option selected><%=objRecordset("NombreCategoría")%></option>
<%
objRecordset.MoveNext
Loop
%>
</select>
</p>
<p>
<input name="T5" type="text" id="T54" size="20">
</p>
<p>
<input name="T6" type="text" id="T6" size="20">
</p>
<p>
<input type="submit" value="Enviar" name="B1">
<input type="reset" value="Restablecer" name="B2">
</p>
</form>
este formulario direcciona a una pagina llamada crear_libro.asp en la que hago un select para saber cual es el id de la categoria enviada en el formulario y asi poder insertar el valor del idcategoria en la tabla producto, el problema es como asigno ese valor a una variable para poder colocarla dentro del insert y que este funcione correctamente.
el codigo es el siguiente:
<%
Dim cn,stql,record,consulta,ide
Set cn = Server.CreateObject("ADODB.Connection")
Set objRecordset = Server.CreateObject("ADODB.Recordset")
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Inetpub\wwwroot\libreria\prueba.mdb"
b = Request.form("T2")
c = Request.form("T3")
d = Request.form("S1")
e = Request.form("T5")
f = Request.form("T6") objRecordset.Open "select IdCategoría from Categorías where (NombreCategoría='"& d &"') ", cn
set ide = objRecordset("IdCategoría")
If ("" = b)OR ("" = c) OR ("" = e) OR ("" = f) Then
Response.Write "<P><b>No se ha escrito ningún dato obligatorio <br>por favor llene los campos correctamente</P>"
End If
objRecordset.close stql = "INSERT INTO Productos(NombreProducto,DescripciónProducto,IdCat egoría,UnidadesEnExistencia,PrecioUnidad) VALUES ('" & b & "','" & c & "'," & ide & ",'" & e & "','" & f & "')"
cn.Execute stql
%>
agradesco su pronta ayuda |