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

Insertar dinamicamente datos recojidos de CheckBOX

Estas en el tema de Insertar dinamicamente datos recojidos de CheckBOX en el foro de ASP Clásico en Foros del Web. hola a todos ! Les agradecería mucho si me pueden ayudar en esto: Yo tengo 2 archivos (variable.asp y recibir.asp). En el primero envio unos ...
  #1 (permalink)  
Antiguo 08/09/2003, 16:14
Avatar de saymon  
Fecha de Ingreso: septiembre-2003
Ubicación: Panama
Mensajes: 318
Antigüedad: 20 años, 8 meses
Puntos: 0
Insertar dinamicamente datos recojidos de CheckBOX

hola a todos !

Les agradecería mucho si me pueden ayudar en esto:

Yo tengo 2 archivos (variable.asp y recibir.asp). En el primero envio unos datos (nvariable) a el segundo archivo que los recoje e inserta, pero solamente me esta funcionando si selecciono un solo registro de los checkbox del primer archivo(variable.asp), me parece que es porque si selecciono dos o mas lo envia concatenado y me manda un error asi en el explorer:

Error Type:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC Microsoft Access Driver] Number of query values and destination fields are not the same.
/tesisanibal/Recibir.asp, line 15

POST Data:
variable=3&variable=4

Es algo parecido a lo que URJOSE explicaba aqui:
http://www.forosdelweb.com/showthre...?threadid=89704

Le envio el código:

Variable.asp

<html>
<head>
<title>Prueba hotmail</title>
</head>

<body>

<Form method=post action= Recibir.asp>

<table>
<tr>
<td>ID_pedido</td>
<td>Usuario</td>
</tr>
<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("\tesisanibal\db\calidad.mdb"))

SSQL="Select nvariable, descripcionvariable from variables where narea = '" & session("Rarea") & "'"
Set RS= Conn.Execute(SSQL)

Do while not RS.eof
%>
<tr>
<td>
<input type="checkbox" name="variable" value="<%=RS("nvariable")%>">
</td>
<td>
<%=RS("descripcionvariable")%>
</td>
</tr>
<%
RS.MoveNExt
LOOP
%>
</table>

<input type=submit>
</Form>
</body>
</html>


Recibir.asp

<html>


<body>


Les agradesco su ayuda y saludos a todos.

Anibal D.

<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("\tesisanibal\db\calidad.mdb"))



SSQL="insert into matrix (NVARIABLE) values (" & request.Form("variable") & ")"
Set RS= Conn.Execute(SSQL)
%>


</body>
</html>
  #2 (permalink)  
Antiguo 08/09/2003, 21:03
Avatar de Saruman  
Fecha de Ingreso: mayo-2003
Ubicación: Panama city, Panama, Panama
Mensajes: 1.154
Antigüedad: 21 años
Puntos: 5
ok, aqui esta esto y funciona perfectamente. espero te sirva
solo funciona para los que estan checked o seleccionados... tu sabes...

For i = 1 to Request("variable").count
ID = Request("variable")(i)

SSQL="insert into matrix (NVARIABLE) values (" & ID & ")"
Set RS= Conn.Execute(SSQL)
Next

eso es todo

espero te sirva... te sirve ademas para los radiobutton... cool
__________________
Saruman

One Ring to rule them all, One Ring to find them, One Ring to bring them all and in the darkness bind them.
  #3 (permalink)  
Antiguo 09/09/2003, 10:55
Avatar de saymon  
Fecha de Ingreso: septiembre-2003
Ubicación: Panama
Mensajes: 318
Antigüedad: 20 años, 8 meses
Puntos: 0
Gracias Saruman, funciona perfectamente solamente hice de copiarlo y listo.
Si no crees que es de mas, me podrias decir que es lo que hace exactamente, es que debo sustentarlo.

Sabes que pasé un dia completo tratando de hacer un código que me hiciera esto.

gracias fuiste de gran ayuda.
Cualquier consulta también aqui estoy!!!
  #4 (permalink)  
Antiguo 09/09/2003, 12:35
Avatar de Saruman  
Fecha de Ingreso: mayo-2003
Ubicación: Panama city, Panama, Panama
Mensajes: 1.154
Antigüedad: 21 años
Puntos: 5
ok, no hay de que
lo que hace esto es simple... muy simple...
si conoces como trabaja un vector entonces no vas a tener problemas....
voy asumir que lo conoces, porque si estas programando en vbscritps entonces debes conocerlo.

bueno, lo primero si despliegas 10 checkbox y con el mismo nombre, entonces se convierte en un vector llamdo "variable".
por eso es que en el for va de 1 hasta el total... (Request("variable").count)
luego, dentro del for, el solo tomara el valor cuando esta en checked, de lo contrario lo pasara por alto.

no c si me explique bien, espero te halla ayudado...
ok, saludos
__________________
Saruman

One Ring to rule them all, One Ring to find them, One Ring to bring them all and in the darkness bind them.
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 23:31.