Foros del Web » Programando para Internet » ASP Clásico »

Como activar varios registros a la vez.

Estas en el tema de Como activar varios registros a la vez. en el foro de ASP Clásico en Foros del Web. Tengo este codigo que me activa un registro a la vez y me lo cambia de false a true. Como podría hacer para activar por ...
  #1 (permalink)  
Antiguo 07/01/2005, 16:48
 
Fecha de Ingreso: enero-2005
Mensajes: 50
Antigüedad: 20 años, 4 meses
Puntos: 0
Como activar varios registros a la vez.

Tengo este codigo que me activa un registro a la vez y me lo cambia de false a true.
Como podría hacer para activar por ejemplo e 10 en 10.
Paso códigos.

Activar.asp

Código:
<HTML>
<HEAD>
<TITLE>Activar un usuario</TITLE>
</HEAD>
<%
Dim Cookie 

 'Obtenemos el Identificador de Sesión actual.
 Request.Cookies("W")
 'Obtenemos el Identificador de Sesión de la Cookie.
 Cookie= Request.Cookies("W2")
 if Cookie<>"" then
    
 else   
    Response.Redirect "../underconst.html"
 end if   
%>
<BODY>
<div align="center">
<h1>Activar un usuario</h1>
<br>
<%	
'Instanciamos y abrimos nuestro objeto conexion 
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.MapPath("/m**e/registro.mdb")
%>

<FORM METHOD="POST" ACTION="Activado333333.asp">
Número de la base<br>
<%
'Creamos la sentencia SQL y la ejecutamos
sSQL="Select autonumerico From registro Order By autonumerico DESC"
set RS = conn.execute(sSQL)
%>
<select name="Autonumerico">
<%
'Generamos el menu desplegable
do while not RS.eof%>
	<option><%=RS("autonumerico")%>
	<%RS.movenext
	loop
%>
</select>

<br>
<INPUT TYPE="SUBMIT" value="Activar">
</FORM>
</div>
<div align="center"><a href="Ver333333.asp" target="_blank">Visualizar el contenido de la base</a></div>
<br>
<div align="center"><a href="Activar333333.asp">Volver a activar usuario</a></div>
</BODY>
</HTML>
Activado.asp

Código:
<HTML>
<HEAD>
<TITLE>Activar un usuario</TITLE>
</HEAD>
<BODY>
<%
'Recogemos los valores del formulario
autonumerico=Request.Form("autonumerico")

'Instanciamos y abrimos nuestro objeto conexion 
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.MapPath("/m**e/registro.mdb")

'Ahora creamos la sentencia SQL 
sSQL="Update registro Set activado = true Where autonumerico= " & autonumerico & ""

'Ejecutamos la orden 
set RS = Conn.Execute(sSQL)
%>

<h1></h1>
<div align="center"><font color="#FFFFFF" size="5">
  <span style="background-color: #008080">Usuario activado</span></font></div>
<div align="center">&nbsp;</div>
<div align="center">&nbsp;</div>
<div align="center"><a href="Ver333333.asp">Visualizar el contenido de la base</a></div>
<br>
<div align="center"><a href="Activar333333.asp">Volver a activar un usuario</a></div>

<%
'Cerramos el sistema de conexion
Conn.Close
%>

</BODY>
</HTML>

Gracias, llevo tiempo dando vueltas pero estoy un poco verde y no paso de aquí, sólo una ayudita.
  #2 (permalink)  
Antiguo 07/01/2005, 17:13
 
Fecha de Ingreso: diciembre-2004
Ubicación: Bs. As. - Argentina
Mensajes: 200
Antigüedad: 20 años, 5 meses
Puntos: 0
cero que algo como esto puede servirte.

sSQL="Update registro Set activado = true Where autonumerico between (" & autonumericoMasChico & "," & autonumericoMasGrande
probalo y nos contas.
__________________
Javo.
www.thesitewatcher.com
Monitoreo y Auditoría de Sitios de Internet
  #3 (permalink)  
Antiguo 07/01/2005, 17:56
 
Fecha de Ingreso: enero-2005
Mensajes: 50
Antigüedad: 20 años, 4 meses
Puntos: 0
Espera no entiendo esto de maschico y mas grande, explìcate como lo pongo en el formulario activar.asp
Si le llamo más chico y mas grande, tendre que enviar previamente ese valor con el form, no.
Gracias.

Última edición por antoli; 07/01/2005 a las 18:06
  #4 (permalink)  
Antiguo 08/01/2005, 09:57
 
Fecha de Ingreso: diciembre-2004
Ubicación: Bs. As. - Argentina
Mensajes: 200
Antigüedad: 20 años, 5 meses
Puntos: 0
Cuando hablo de "masChico" y "masGrande" es por que segun entendi. vos tenes que activar en una cantidad determinada (que se encuentran entre valores).
Entonces, decis que queres activar desde el Valor autonumerico = 15 (x ejemplo) al autonumerico = 30. En este caso 15 es el mas chico y 30 el mas grande.

¿asi no te serviría?

Salu2
__________________
Javo.
www.thesitewatcher.com
Monitoreo y Auditoría de Sitios de Internet
  #5 (permalink)  
Antiguo 08/01/2005, 10:54
 
Fecha de Ingreso: enero-2005
Mensajes: 50
Antigüedad: 20 años, 4 meses
Puntos: 0
Perdona pero sigo sin entender, no me podrías ayudar sobre los archivos que puse en el primer post.
Gracias.

Última edición por antoli; 08/01/2005 a las 11:02
  #6 (permalink)  
Antiguo 08/01/2005, 12:04
 
Fecha de Ingreso: diciembre-2004
Ubicación: Bs. As. - Argentina
Mensajes: 200
Antigüedad: 20 años, 5 meses
Puntos: 0
La cosa viene a ser asi.....
en el activar.asp (primer asp), tenes un desplegable que tiene los autonumericos.
Entonces ahi seleccionas un valor...... Eso vos lo llamas autonumerico y lo levantas q¿con un request en el segundo asp (activado.asp)
Si vos queres activar 10 (x ejemplo), decis que
autonumericoMasChico = autonumerico (el que levantaste antes)
y
autonumericoMasGrande = autonumerico + 10 (x q queremos activar 10)

en donde hoy tenes
sSQL="Update registro Set activado = true Where autonumerico= " & autonumerico & ""
le pones
sSQL="Update registro Set activado = true Where autonumerico between (" & autonumericoMasChico & "," & AutonumericoMasGrade &")"
Eso te va a hacer un update en todos los regsitros cuyo valor este comprendido entre los 2 valores.

Tambien en el primero podes poner 2 combos que sean activar desde y activar hasta.

¿esta un poquieto menos confuso ahora? Se que tengo la misma capacidad didáctia que un felpudo. :)
__________________
Javo.
www.thesitewatcher.com
Monitoreo y Auditoría de Sitios de Internet

Última edición por javopereira; 08/01/2005 a las 12:06
  #7 (permalink)  
Antiguo 08/01/2005, 12:14
 
Fecha de Ingreso: enero-2005
Mensajes: 50
Antigüedad: 20 años, 4 meses
Puntos: 0
Pruebo y te digo.
  #8 (permalink)  
Antiguo 08/01/2005, 12:45
 
Fecha de Ingreso: enero-2005
Mensajes: 50
Antigüedad: 20 años, 4 meses
Puntos: 0
Vale pues me ejecuta la sentencia, en cuanto a que responde correcto, pero en realidad no ha cambiado las opciones a true.
Te paso los códigos que creé.

ACTIVAR.ASP

Código:
<HTML>
<HEAD>
<TITLE>Activar un usuario</TITLE>
</HEAD>
<BODY>
<div align="center">
<h1>Activar un usuario</h1>
<br>
<%	
'Instanciamos y abrimos nuestro objeto conexion 
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.MapPath("/mdb-base/registrosin.mdb")
%>

<FORM METHOD="POST" ACTION="Activado.asp">
Número de la base<br>
<%
'Creamos la sentencia SQL y la ejecutamos
sSQL="Select autonumerico From registro Order By autonumerico DESC"
set RS = conn.execute(sSQL)
%>
<select name="autonumerico">
<%
'Generamos el menu desplegable
do while not RS.eof%>
	<option><%=RS("autonumerico")%>
	<%RS.movenext
	loop
%>
</select>
<%
'Creamos la sentencia SQL y la ejecutamos
sSQL="Select autonumerico From registro Order By autonumerico DESC"
set RS = conn.execute(sSQL)
%>
<select name="autonumericogrande">
<%
'Generamos el menu desplegable
do while not RS.eof%>
	<option><%=RS("autonumerico")%>
	<%RS.movenext
	loop
%>
</select>
<br>
<INPUT TYPE="SUBMIT" value="Activar">
</FORM>
</div>
<div align="center"><a href="Ver.asp" target="_blank">Visualizar el contenido de la base</a></div>
<br>
<div align="center"><a href="Activar.asp">Volver a activar usuario</a></div>
</BODY>
</HTML>
ACTIVADO.ASP

Código:
<HTML>
<HEAD>
<TITLE>Activar un usuario</TITLE>
</HEAD>
<BODY>
<%
'Recogemos los valores del formulario
autonumerico=Request.Form("autonumerico")
autonumericogrande=Request.Form("autonumerico")

'Instanciamos y abrimos nuestro objeto conexion 
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.MapPath("/mdb-database/registrosin.mdb")

'Ahora creamos la sentencia SQL 
sSQL="Update registro Set activado = true Where autonumerico between (" & autonumerico & "," & autonumericogrande &")"
'Ejecutamos la orden 
set RS = Conn.Execute(sSQL)
%>

<h1></h1>
<div align="center"><font color="#FFFFFF" size="5">
  <span style="background-color: #008080">Usuario activado</span></font></div>
<div align="center">&nbsp;</div>
<div align="center">&nbsp;</div>
<div align="center"><a href="Ver333333.asp">Visualizar el contenido de la base</a></div>
<br>
<div align="center"><a href="Activar333333.asp">Volver a activar un usuario</a></div>

<%
'Cerramos el sistema de conexion
Conn.Close
%>

</BODY>
</HTML>
Creo que ya estoy, cerca, anda y dame un empujón.

Última edición por antoli; 08/01/2005 a las 12:47
  #9 (permalink)  
Antiguo 08/01/2005, 13:17
 
Fecha de Ingreso: diciembre-2004
Ubicación: Bs. As. - Argentina
Mensajes: 200
Antigüedad: 20 años, 5 meses
Puntos: 0
como decis, parece que estamos cerca......
En el segundo asp pones.....
'==============================
'Recogemos los valores del formulario
autonumerico=Request.Form("autonumerico")
autonumericogrande=Request.Form("autonumerico")
'===================================
Estas levantando 2 veces el mismo valor!!!

Una duda que me asalta ahora es que el between no se si incluye o no las puntas. En caso que no lo haga, es tan sencillo como between (autonumerico -1, autonumericogrande + 1) (ojo a los ", & y esas cosas......)
Otra cosa que te aconsejo es que "antes" de la linea que ejecuta (.execute), te pongas un response.write sSQL y veas la sentencia en pantalla.
Eso que ves en pantalla, lo copias y pgeas en una cosnsualta de access (con la opcion de SQL) y la ajecutas ahi.
Si ahi vamos bien, tenemos un porblema en otro lado que seguiremos buscando.

Saludos.
__________________
Javo.
www.thesitewatcher.com
Monitoreo y Auditoría de Sitios de Internet
  #10 (permalink)  
Antiguo 08/01/2005, 13:35
 
Fecha de Ingreso: enero-2005
Mensajes: 50
Antigüedad: 20 años, 4 meses
Puntos: 0
Hoy no es mi día, por más que lo intento ahora siempre me responde página en blanco sin más, y sin indicar error.
Bueno si no tienes alguna idea más con respecto al código de arriba, no sé que hacer.
Puse estos valores, pero nada:

Código:
autonumerico=Request.Form("autonumerico")
autonumerico1=Request.Form("autonumerico1")
A ver que hago y en el update puse.

Código:
sSQL="Update registro Set activado = true Where autonumerico between (" & autonumerico & "-1," & autonumerico1 & "+1)"
  #11 (permalink)  
Antiguo 08/01/2005, 14:39
 
Fecha de Ingreso: diciembre-2004
Ubicación: Bs. As. - Argentina
Mensajes: 200
Antigüedad: 20 años, 5 meses
Puntos: 0
esto para mi deberia ser.......
sSQL="Update registro Set activado = true Where autonumerico between (" & autonumerico & "-1," & autonumerico1 + 1 & ")"

Si jode ponele
sSQL="Update registro Set activado = true Where autonumerico between (" & cdbl(autonumerico) & "-1," & cdbl(autonumerico1) + 1 & ")"

respecto de la pag en blanco, mirate le view source de la pagina blanca a ver si "descifras" en donde se muere.

Lamento contarte que ya me voy a mi casa y los domingos (x un tema de sanidad mental) no uso computadora. Espero que puedas resolverlo. Si no, me pones un mail y el lunes lo vemos.

Saludos y suerte
__________________
Javo.
www.thesitewatcher.com
Monitoreo y Auditoría de Sitios de Internet
  #12 (permalink)  
Antiguo 08/01/2005, 15:44
 
Fecha de Ingreso: enero-2005
Mensajes: 50
Antigüedad: 20 años, 4 meses
Puntos: 0
Hecho, ya te cuento, gracias por tu tiempo perdido, voy a ello.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:09.