Altas y Bajas masivas

31/08/2006 - 17:48 por Sergio Wiñar | Informe spam
Hola gente,

Necesito saber como se hacen las altas y bajas masivas, es decir, de una
lista supongamos de 10 usuarios tildo 3 para eliminarlos o bien marco 2 para
darlos de alta en una seccion especifica.

Gracias de antemano
Sergio

Preguntas similare

Leer las respuestas

#1 richi
01/09/2006 - 08:32 | Informe spam
Es facil,

crea un formulario y pon un checkbox por cada registro que muestres.

Una opción es utilizar un contador que asigne nombre a cada checkbox por
ejemplo "registro_1, registro_2,..."

Luego guarda el valor del contador en un campo oculto.

Cuando envies el formulario recoge el valor de ese campo oculto y
mediante un bucle recorre los checkbox, si alguno está marcado lo borras.

Algo así sería

For i=1 To contador
if Request.Form("registro_" & i) Then
'borramos o realizamos acción cualquiera
End
Next




Sergio Wiñar wrote:
Hola gente,

Necesito saber como se hacen las altas y bajas masivas, es decir, de una
lista supongamos de 10 usuarios tildo 3 para eliminarlos o bien marco 2 para
darlos de alta en una seccion especifica.

Gracias de antemano
Sergio


Respuesta Responder a este mensaje
#2 Dani Castillo
02/09/2006 - 09:29 | Informe spam
Otra opcion parecida cuando tienes muchos "posibles registros" es usar un
id autonumerico en el nombre de cada campo, algo como

checkbox_1 campo1_1 campo2_1
checkbox_27 campo1_27 campo2_27


donde 1 y 27 serian los id's de la tabla correspondiente, esto es util
cuando tienes una tabla variable a editar (donde pueden no ser correlativos
los id's o pueden ser un subconjunto de los existentes etc)

una forma de analizar eso es recorrer el conjunto request.form a la hora de
interpretarlo con un for each campo in request.form , y despues con un split
separar por el caracter separador ("_") para obtener el id al que hace
referencia cada campo

en consultas grandes esto puede ser algo lento de ejecutarse, asi que yo
suelo incluir un campo oculto en el formulario con la informacion de los
id's autonumericos que estoy mostrando, vendria a ser algo como
ids=""
do while not rs.eof ' bucle que recorre los registros a mostrar para editar
ids=ids & "," & rs("id_tabla")
%><input type=text name="campo1_<%=rs("id_tabla")%>"
value="<%=rs("campo1")%>" > <%
...
rs.movenext
loop
rs.close
%> <input type=hidden name="ids" value="<%=ids%>" ><%



ahora para tratar ese form lees primero el ids, lo divides con un split, y
lees y tratas los campos correspondientes

ids=request("ids")
for each id in split(ids,",")
if id & ""<>"" then ' el primero es nulo, lo ignoro
' tratamos el registro id
campo1=request("campo1_" & id)
.
end if
next

existen variantes sobre este esquema, una bastante util es marcar el
contenido del hidden ids directamente desde javascript con solo los
registros que se van modificando en lugar de todos los registros, eso
acelera mucho el proceso ya que solo modificas lo que el usuario ha tocado,
pero requiere que cada control tenga un javascript indicando su modificacion
etc, es algo mas complejo aunq el resultado merece la pena, pero para
empezar espero que eso te ayude


dani.


"richi" escribió en el mensaje
news:%
Es facil,

crea un formulario y pon un checkbox por cada registro que muestres.

Una opción es utilizar un contador que asigne nombre a cada checkbox por
ejemplo "registro_1, registro_2,..."

Luego guarda el valor del contador en un campo oculto.

Cuando envies el formulario recoge el valor de ese campo oculto y mediante
un bucle recorre los checkbox, si alguno está marcado lo borras.

Algo así sería

For i=1 To contador
if Request.Form("registro_" & i) Then
'borramos o realizamos acción cualquiera
End
Next




Sergio Wiñar wrote:
Hola gente,

Necesito saber como se hacen las altas y bajas masivas, es decir, de una
lista supongamos de 10 usuarios tildo 3 para eliminarlos o bien marco 2
para
darlos de alta en una seccion especifica.

Gracias de antemano
Sergio

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida