Ver Mensaje Individual
  #6 (permalink)  
Antiguo 03/07/2002, 14:14
Sebas22
 
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.