Ver Mensaje Individual
  #1 (permalink)  
Antiguo 11/03/2009, 11:27
pach
 
Fecha de Ingreso: febrero-2008
Mensajes: 27
Antigüedad: 16 años, 2 meses
Puntos: 1
Actualizar campo de checkbox en db

Hola a todos,

tengo un problemilla.
En una página saco con un select unos determinados registros y, al sacarlos creo en cada uno de ellos automáticamente dos checkbox con las propiedades name="valida" id="valida1" y name="factura" id="factura" respectivamente.

Tb he incorporado un boton "submit" a un asp que me actualiza dichos campos de la BD.

La cuestión es que al sacar los registros con una consulta, por diferentes motivos, nunca saca el mismo número de registros, por lo que no genera el mismo número de checkbox cada vez.

Mi problema es que no actualiza bien la Base de Datos y No consigo ver el fallo.

Aquí les dejo el código:


'Guardamos los checkbox VALIDA
'Recorremos todos los elementos del formulario que tengan como name: "valida" - En este caso los checkbox
for i = 1 To Request.Form("valida").Count Step 1

'Cambiamos el valor que recoge para poder almacenarlo en la Base de Datos - Campo bit
if Request.Form("valida")(i) <> "" then
validada = 1
else
validada = 0
end if

'Actualizamos
sql = " UPDATE INSCRIPCIONES_DE_MATERIAL" &_
" SET validada = " & validada &_
" from INSCRIPCIONES_DE_MATERIAL as im"&_
" where im.codempresa=" & varcodempresa & " and im.codtemporada=" & session("cod_tempo_actual") & " and im.codmedio=" & rsmenuinscripciones("codreg")

Response.Write(" ----- Actualizacion de campo VALIDADA num. " & i & " al valor: " & validada)
rsinscrip.Open sql,varconexion
Next



'Guardamos los checkbox FACTURA
'Recorremos todos los elementos del formulario que tengan como name: "factura" - En este caso los checkbox
for i = 1 To Request.Form("factura").Count Step 1

'Cambiamos el valor que recoge para poder almacenarlo en la Base de Datos - Campo bit
if Request.Form("factura")(i) <> "" then
facturada = 1
else
facturada = 0
end if

'Actualizamos
sql = " UPDATE INSCRIPCIONES_DE_MATERIAL" &_
" SET facturada = " & facturada &_
" from INSCRIPCIONES_DE_MATERIAL as im"&_
" where im.codempresa=" & varcodempresa & " and im.codtemporada=" & session("cod_tempo_actual") & " and im.codmedio=" & rsmenuinscripciones("codreg")

Response.Write(" ----- Actualizacion de campo VALIDADA num. " & i & " al valor: " & facturada)
rsinscrip.Open sql,varconexion
Next


Les agradezco toda la ayuda posible.