
03/07/2002, 14:14
|
| | Fecha de Ingreso: abril-2002
Mensajes: 34
Antigüedad: 23 años Puntos: 0 | |
Re: Insert usando "IN" - Ayuda Gracias por toda la ayuda, anda a la perfeccion, excepto en el siguiente caso:
<%
For i=1 to 4
<input type="checkbox" name="arreglo" value="ON">
next
arreglo = request.form("arreglo")
//Suprimidas conexiones con una base de datos
Ob_RS.Open "Tabla", Conn, adOpenStatic, adCmdTable
if not OB_RS.EOF then
OB_RS.MoveLast
cod = OB_RS("Codigo") + 1
else
cod = 1
end if
arreglo = Split(arreglo,", ")
for i=0 to Ubound(arreglo)
if (arreglo(i)<>"") then
arreglo(i) = "si"
else
arreglo(i) = "no"
end if
sql = “insert into Tabla (Codigo, Campo1) values (‘” & cod & “’, ‘” & arreglo(i) & “’)”
Com.CommandText = sql
Com.Execute
cod = cod + 1
next
OB_RS.Close
El error lo genera la linea de:
if (arreglo(i)<>"") then
y es el siguiente:
Error de Microsoft VBScript en tiempo de ejecución error '800a0009'
El subíndice está fuera del intervalo: 'i'
Ahora bien, en el ejemplo previo yo genero 4 checkboxes... de los cuales se almacenan 3 en la base de datos... he probado corriendo el IF anterior con otro contador que esté un valor adelante de "i" o bien detrás", es decir, comenzando como 1 o -1 en el bucle FOR, incrementandola dentro del mismo, pero ahi me genera el mismo error en el IF con la diferencia que no guarda ni un registro en la base (es decir el bucle no pasa de la primera vuelta y ni siquiera llega a la sentencia INSERT, se muere en el IF). ¿Cómo puedo hacer para que el IF no me genere ese error usando la variable "i"? ¿Tengo que hacer otro bucle fuera del FOR antes de entrar en el para validar como "si" o "no" a los datos? Un saludo. |