3
sep
2

Actualizar multiples registos con checkbox en ASP

Si deseas eliminar, actualizar o realizar algun cambio sobre multiples registros de una tablas empleando checkbox.

Mi primer recomendacion es que cada checkbox cargue el “id” del registro a modificar al momento de general la tabla.

Manejaremos 2 archvios. Tablas.asp donde generaremos nuetra tabla con los checkbox y prosesa.asp donde se modificaran los registros seleccionados en tablas.asp

Parte del codigo que tendremos en tablas.asp:

 ASP |  Copiar |? 
01
'Declaracion de variables
02
Dim oConn,rs,
03
 
04
 
05
Set oConn = Server.CreateObject("ADODB.Connection")
06
 
07
'Conexion a BD SQL
08
 
09
 oConn.Open("Provider=SQLOLEDB.1;Persist Security Info=False;User ID=   Tu_Usuario  ;Pwd=  Tu_PassWord ;Initial Catalog= Nombre_Base_de_Datos;Data Source= Servidor_o_hots_de_BD")
10
 
11
'  consulta
12
set rs = oConn.Execute("SELECT * FROM tabla ") 

Usando un While recorres los datos que te cargo en “rs”, a un variable asignas el valor de ID_campo para despues ponerla como valor dentro del checkbox.

 ASP |  Copiar |? 
1
2
 
3
'Asignas el ID de registro en turno a x
4
x=rs.Fields("ID_campo")
5
Response.Write(x)  

Abres un form para poder enviar los valores del checkbox por el metodo POST, y creas la tabla dentro del form algo asi y asignas el valor al checkbox de la suguiente manera:

 ASP |  Copiar |? 
1
<input name="estado" type="checkbox" value="<%  Response.Write(x) %>" />

De esa manera a cargar el “Id_campo” de cada registro que te genere la consulta sobre el checkbox (estado)

En prosesa.asp pones algo como lo suguiente:

 ASP |  Copiar |? 
1
'Cachas todos los valores que te envio el form de Tabla.asp
2
'y lo metes ala variable strDeleteList
3
strDeleteList = REQUEST.FORM("estado")
4
 
5
'Ejecutas esta instruccion y actualizas (para esto tienes que tener la conexion abierta a tu BD)
6
strSQL ="UPDATE tu_tabla SET campo ="tu valor" WHERE ID_campo in (" & strDeleteList & ")"
7

o si quieres eliminar usas esta intruccion

 ASP |  Copiar |? 
1
strSQL ="DELETE FROM tu_tabla WHERE ID_campo in (" & strDeleteList & ")"

Logicamente el trSQL es una variable, que despues deves mandar ejecutar con la conexion.

Enjoyed reading this post?
Subscribe to the RSS feed and have all new posts delivered straight to you.
2 Comments:
  1. juan arminio 22 oct, 2009

    Buenos dias, veo que sabes mas de asp que yo, tengo la necesidad de hacer una consulta de una tabla y por medio de un checkbox en cada registro grabar en otra tabla los registros seleccionados, por favor, si tienes alfun ejemplo. gracias.

  2. Guerrix 23 oct, 2009

    Gracias por tu comentario juan, no tengo ejemplo como que el que pides.
    Pero el ejemplo que pongo en este post te puede servir perfecto. cuando mandas los datos a procesa.asp, en vez de hacer un update sobre la tabla que quieres eliminar haces has update sobre la tabla que quieres llenar, seria una consulta diferente solo pondrás que los id’s que te mando el archivo tabla.asp haces una consulta de nuevo sobre tabla fuente para que te traiga únicamente los registros que seleccionaste y esos los escribes (update,insert,join o el que mas te convenga) en la tabla destino.

    Asumiendo que la tabla fuente es donde estan todos los datos y la tabla destino donde quieres poner los datos que seleccionaste en la tabla fuente.

    o también guardar en un arreglo todos los datos seleccionados y después con un while recorrerlos e irlos insertando sobre la tabla destino

    Espero esta idea te ayude.
    Suerte y Saludos

Post your comment



Celadon theme by the Themes Boutique
La información de este blog tiene caracter informativo y la utilización de esta cae estrictamente bajo la responsabilidad del lector.