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

insertar un variable de una consulta en el insert

Estas en el tema de insertar un variable de una consulta en el insert en el foro de ASP Clásico en Foros del Web. hola que tal necesito ayuda con respecto a lo siguiente tengo dos tablas en acces una se llama producto cuyo campos son idproducto , descripcion ...
  #1 (permalink)  
Antiguo 24/10/2004, 23:01
 
Fecha de Ingreso: octubre-2004
Mensajes: 1
Antigüedad: 19 años, 7 meses
Puntos: 0
Exclamación 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>&nbsp; </p>
<p><b><font color="#000000">&nbsp;
<input type="text" name="T2" size="20">
</font></b> </p>
<p>
&nbsp;
<input type="text" name="T3" size="20"> <b>&nbsp;</b> </p>
<p>&nbsp;
<select name="S1" id="S1">
<%
Do While Not ObjRecordset.EOF
%>

<option selected><%=objRecordset("NombreCategoría")%></option>
<%
objRecordset.MoveNext
Loop
%>

</select>
</p>
<p>&nbsp;
<input name="T5" type="text" id="T54" size="20">
</p>
<p> &nbsp;
<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
  #2 (permalink)  
Antiguo 25/10/2004, 06:25
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
para evitar esto..te recomiendo que ademas rescates el id en tu primera pagina y despues simplemente la envies en la segunda...asi te evitas de hacer un select nuevamente buscando por nombre...que ocupa bastante recurso innecesario en la bdatos...

<option value="<%=objRecordset("IdCategoría")%>" selected><%=objRecordset("NombreCategoría")%></option>

tu otra pagina
IdCategoria = Request.Form("S1")

y despues elimina el select y haz el insert.

Saludos

bakanzipp
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 16:49.