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

Actualizar campo Si/No

Estas en el tema de Actualizar campo Si/No en el foro de ASP Clásico en Foros del Web. tampoco funciono cuando cambiaste la forma del if, de esta forma?? Cita: Ptr = Request.Form("Ptr") If Ptr = "Si" Then Ptr= -1 'en caso verdadero ...

  #31 (permalink)  
Antiguo 16/10/2007, 10:44
Avatar de Shiryu_Libra
Colaborador
 
Fecha de Ingreso: febrero-2007
Ubicación: Cantando "Screenager" en "Kirafa Kaput"
Mensajes: 3.614
Antigüedad: 18 años, 1 mes
Puntos: 88
Re: Actualizar campo Si/No

tampoco funciono cuando cambiaste la forma del if, de esta forma??

Cita:
Ptr = Request.Form("Ptr")
If Ptr = "Si" Then
Ptr=-1 'en caso verdadero
else
Ptr=0 'en caso falso
end if
, vamos a tener que hablarle a los 3 reyes magos, para resolver esto ya que se esta poniendo demasiado quisquilloso
__________________
"Eres parte del problema, parte de la solucion o parte del paisaje"
Un Saludo desde Desierto de Altar, Sonora, MX.
Shiryu_libra
  #32 (permalink)  
Antiguo 16/10/2007, 11:54
Avatar de Uefor  
Fecha de Ingreso: agosto-2006
Ubicación: Murcia
Mensajes: 136
Antigüedad: 18 años, 8 meses
Puntos: 0
Re: Actualizar campo Si/No

Siempre me toma el ultimo valor del if
Código:
Ptr = Request.Form("Ptr")
If Ptr = "Si" Then
Ptr=-1 'en caso verdadero
else
Ptr=0 <-- si aquí hay un 0, un False o un True es el valor que toma en la sentencia
end if
Desde luego, vamos a tener que hacer una fiesta cuando funcione jejeje
  #33 (permalink)  
Antiguo 16/10/2007, 12:22
Avatar de Shiryu_Libra
Colaborador
 
Fecha de Ingreso: febrero-2007
Ubicación: Cantando "Screenager" en "Kirafa Kaput"
Mensajes: 3.614
Antigüedad: 18 años, 1 mes
Puntos: 88
Re: Actualizar campo Si/No

Uefor, en el formulario, si tiene puesto que el valor sea "si"??

estaba mirando todo el post y no miro que tenga esa parte
<input ..... value="si">
si lo tienes bien en tu codigo???
__________________
"Eres parte del problema, parte de la solucion o parte del paisaje"
Un Saludo desde Desierto de Altar, Sonora, MX.
Shiryu_libra
  #34 (permalink)  
Antiguo 16/10/2007, 14:01
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 23 años, 3 meses
Puntos: 98
Re: Actualizar campo Si/No

El valor que debes pasar a la base de datos es un 1/0, deja a access que se haga pelotas con lo demas...te sugiero correr un query directo para que lo veas mejor, divide y venceras:

Código:
strSQL = "UPDATE tabla set campo_booleano = 1"
strSQL = "UPDATE tabla set campo_booleano = 0"
Saludos
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #35 (permalink)  
Antiguo 16/10/2007, 14:16
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 23 años, 3 meses
Puntos: 98
Re: Actualizar campo Si/No

Un poco mas acerca de tu problema, generalmente tenemos errores logicos con esto, pero la forma es sencilla, básicamente tu quieres saber si un checkbox ha sido seleccionado.

Código:
<input type="checkbox" name="esteCheckBox" value="algocomoesto" />


<%
Dim checkBoxTieneValor

if len(Request.Form("esteCheckBox")) > 0 then
  'esto significa que ha llegado un valor para este objeto del formulario, por lo tanto, ha sido seleccionado
   checkBoxTieneValor = 1
else
  checkBoxTieneValor = 0
end if

strSQL = "UPDATE tabla set campo_booleano = " & checkBoxTieneValor
%>
En teoria le deberias pasar un true/false, pero este valor lo access lo interpreta a veces como "verdadero/falso" dependiendo de la configuracion de idioma, asi que es menos complicado pasarle su valor primitivo que es un entero que toma dos y solo dos valores (1 y 0)

Saludos
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway

Última edición por u_goldman; 16/10/2007 a las 15:48 Razón: Demasiado C# me esta nublando la vision VB :p
  #36 (permalink)  
Antiguo 18/10/2007, 12:26
Avatar de Uefor  
Fecha de Ingreso: agosto-2006
Ubicación: Murcia
Mensajes: 136
Antigüedad: 18 años, 8 meses
Puntos: 0
Re: Actualizar campo Si/No

Hola.... he estado enredado estos días pero vuelvo de nuevo con el problemilla, pues he hecho las diferentes pruebas que habeis sugerido y sigue haciendo lo mismo, me marca el valor que ponga en el else lo he mirado y remirado la pag1 y la pag2 pero no lo veo que puede suceder.

¿Es posible que pag1 no esté mandando datos y por eso pag2 asigna el else siempre?
SaLu2
  #37 (permalink)  
Antiguo 18/10/2007, 14:47
Avatar de Shiryu_Libra
Colaborador
 
Fecha de Ingreso: febrero-2007
Ubicación: Cantando "Screenager" en "Kirafa Kaput"
Mensajes: 3.614
Antigüedad: 18 años, 1 mes
Puntos: 88
Re: Actualizar campo Si/No



si es posible

y tambien es posible que no estemos evaluando bien los datos de consulta antes de mostrarlos para su modificacion/actualizacion

habria que regresarnos a la pagina donde listas tus campos, en esta parte
Cita:
<input <%if RS("Camp5") = True Then Response.Write("checked") End if%> TYPE="checkbox" NAME="checkbox" >
<a href=pag2.asp?Id=<%=RS("Id")%>>Actualizar</a>
saber si se cumple o no, y si en efecto se evalua con TRUE/FALSE o -1/0

habra que desmenuzar completamente el codigo y buscar con calma


p.d. cambiaremos esta parte en la consulta
Cita:
<input <%if RS("Camp5") = -1 Then Response.Write("checked") End if%> TYPE="checkbox" NAME="checkbox" >
<a href=pag2.asp?Id=<%=RS("Id")%>>Actualizar</a>
con eso sabremos si es de verdad que sea un "si", en la base de datos, intentemos no perdemos nada
__________________
"Eres parte del problema, parte de la solucion o parte del paisaje"
Un Saludo desde Desierto de Altar, Sonora, MX.
Shiryu_libra

Última edición por Shiryu_Libra; 18/10/2007 a las 15:13
  #38 (permalink)  
Antiguo 18/10/2007, 15:00
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 23 años, 3 meses
Puntos: 98
Re: Actualizar campo Si/No

A ver:

Código:
<input <%if RS("Camp2") = "True" Then Response.Write("checked") End if%> TYPE="checkbox" NAME="checkbox" value="1" />
Código:
if len(request.form("checkbox")) > 0 then
   Ptr = 1
else
   Ptr = 0
end if

Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open = MM_cnx_STRING

sql = "UPDATE Tabla1 SET Ptr = "&Ptr&" WHERE Id= "&Request.QueryString("Id")&""
set RS = Conn.Execute(sql)
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #39 (permalink)  
Antiguo 18/10/2007, 15:33
Avatar de Shiryu_Libra
Colaborador
 
Fecha de Ingreso: febrero-2007
Ubicación: Cantando "Screenager" en "Kirafa Kaput"
Mensajes: 3.614
Antigüedad: 18 años, 1 mes
Puntos: 88
Re: Actualizar campo Si/No

Master U_G, estan desfasados los poderes????
__________________
"Eres parte del problema, parte de la solucion o parte del paisaje"
Un Saludo desde Desierto de Altar, Sonora, MX.
Shiryu_libra
  #40 (permalink)  
Antiguo 18/10/2007, 15:39
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 23 años, 3 meses
Puntos: 98
Re: Actualizar campo Si/No

Es que tanto alcohol los ha mareado un poco últimamente diré la mentira clásica de Myakire: "No vuelvo a beber" -la escuchan por la prisión de su ciudad cada tercer día-
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #41 (permalink)  
Antiguo 18/10/2007, 15:54
Avatar de Shiryu_Libra
Colaborador
 
Fecha de Ingreso: febrero-2007
Ubicación: Cantando "Screenager" en "Kirafa Kaput"
Mensajes: 3.614
Antigüedad: 18 años, 1 mes
Puntos: 88
Re: Actualizar campo Si/No

jajjajajajaj, en efecto y en definitiva jajajjajaja

es que es tanto el vicio tanta la necesidad que por eso no nos movemos de lugar

__________________
"Eres parte del problema, parte de la solucion o parte del paisaje"
Un Saludo desde Desierto de Altar, Sonora, MX.
Shiryu_libra
  #42 (permalink)  
Antiguo 19/10/2007, 08:08
Avatar de Uefor  
Fecha de Ingreso: agosto-2006
Ubicación: Murcia
Mensajes: 136
Antigüedad: 18 años, 8 meses
Puntos: 0
Re: Actualizar campo Si/No

En principio he mirado lo que comentas Shiryu, lo cambié por -1 pero los checkbox (que no olvidemos que son dinámicos) al ponerle ese valor ya no me refleja lo que hay en la db, quedan vacios...

He hecho cambios en el código de todo tipo para probar si aleatorimente resolvía el problema pero nada, ahora mismo lo he dejado como has indicado golman pero sigo en las mismas... actuliza la db con el dato que refleje después del else
Código:
if len(Request.Form("Patron")) > 0 then
Ptr = 1 
else
Ptr = 0 <--- Siempre este dato
end if
Muchas gracias amigos... os agradezco el interés que os estais tomando en el tema
  #43 (permalink)  
Antiguo 19/10/2007, 09:00
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 23 años, 3 meses
Puntos: 98
Re: Actualizar campo Si/No

Eso quiere decir que tu checkbox nunca esta llegando, a ver Uefor, puedes poner todo tu codigo?

Saludos
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #44 (permalink)  
Antiguo 19/10/2007, 09:52
 
Fecha de Ingreso: enero-2006
Ubicación: Torroles (Costa der Só)
Mensajes: 1.017
Antigüedad: 19 años, 3 meses
Puntos: 7
Re: Actualizar campo Si/No

Estoooo, disculpad la intromisión. ¿Estas seguro que el método del formulario es POST explicitamente?

<form method="post" ....




Un saludo
__________________
"Tus pecados son el estiércol sobre el que florecerán las flores de tus virtudes" - Gerald Messadié -
  #45 (permalink)  
Antiguo 19/10/2007, 13:35
Avatar de Uefor  
Fecha de Ingreso: agosto-2006
Ubicación: Murcia
Mensajes: 136
Antigüedad: 18 años, 8 meses
Puntos: 0
Busqueda Re: Actualizar campo Si/No

Eso creo yo también golman... tammader a tu pregunta como puedes ver más abajo si está como POST.

Este es el código util de pag1, la que tiene el formulario y envia a pag2 la información:
Código:
 <form METHOD="POST" name=formulario>

<select>
Esto condiciona los siguientes resultados con un onchange tiene mucho código intrascendente, pero si quereis os lo posteo también
</select>

<%   if CampId <> "" then %>
     
<%  
Dim RS
Dim SQL
 
    SQL="select * from T1 where CampId="&CampId&" "
	
    set RS=createobject("ADODB.Recordset")
    RS.open SQL,conn
   
 if not RS.eof then    
%>   
<%=RS("Camp1")%>
<%=RS("Camp2")%>
<%=RS("Camp3")%>
<%=RS("Camp4")%>
<%=RS("Camp5")%>
           <%  end if
RS.close
set RS= nothing
%>

<%  
Dim RS2, SQL2
     	     
SQL2="SELECT T2.Camp2Id, T2.Camp21, T2.Camp22, "
SQL2=SQL2&"T3.Camp2, FROM T2 INNER JOIN T3 " 
SQL2=SQL2&"ON T2.Camp21=T3.Camp31"
SQL2=SQL2&"WHERE CampId="&CampId&" "

set RS2=createobject("ADODB.Recordset")
RS2.open SQL2,conn
		
do while not RS2.eof  
%>    

<%=RS2("Camp21")%>                      
<%=RS2("Camp32")%>

<a href=pag2.asp?Id=<%=RS2("Camp2Id")%>><img src='images/edt.gif' border='0'> Editar</a>
<input <%if RS2("Camp22") = "True" Then Response.Write("CHECKED") End if%> TYPE="checkbox" VALUE="1" NAME="check"> 

<%

    RS2.movenext
    loop	
    RS2.close
    set RS2= nothing
   end if 

    Conn.close()
    Set Conn = nothing
%>     
</form>
Espero que me encontreis con esto el error, soy de la opinión que debe estar en él.
  #46 (permalink)  
Antiguo 19/10/2007, 13:42
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 23 años, 3 meses
Puntos: 98
Re: Actualizar campo Si/No

Uefor...como estas enviando el form??
Lo que veo es que tienes un link que va a pag2.asp, pero la forma no es enviada, para enviar la forma necesitas hacerle un submit a pag2.asp, tambien poner al action de la misma el archivo al que va

<form action="pag2.asp" method="post">
los campos que quieras enviar
<input type="submit" value="enviar" />
</form>
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #47 (permalink)  
Antiguo 19/10/2007, 13:58
Avatar de Uefor  
Fecha de Ingreso: agosto-2006
Ubicación: Murcia
Mensajes: 136
Antigüedad: 18 años, 8 meses
Puntos: 0
Re: Actualizar campo Si/No

Bueno el action="pag2.asp" si que lo tenia puesto pero lo quité en las multiples pruebas que hice, sobre lo otro tengo un problema, solo necesito mandar los checkbox y lo normal es que solo se modifique uno de ellos ¿como puedo relacionar el checkbox con su Id (Camp2Id) para modificarlo?
  #48 (permalink)  
Antiguo 19/10/2007, 14:00
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 23 años, 3 meses
Puntos: 98
Re: Actualizar campo Si/No

Envia un hidden en la forma:


<input type="hidden" name="id" value="<%=RS2("Camp2Id")%>" />

Y lo recoges:
id = Request.Form("id")

Saludos
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #49 (permalink)  
Antiguo 19/10/2007, 14:16
Avatar de Uefor  
Fecha de Ingreso: agosto-2006
Ubicación: Murcia
Mensajes: 136
Antigüedad: 18 años, 8 meses
Puntos: 0
Re: Actualizar campo Si/No

El problema ahora es que me envía todos los Id´s que corresponde a los checkbox y me da error...
  #50 (permalink)  
Antiguo 19/10/2007, 14:20
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 23 años, 3 meses
Puntos: 98
Re: Actualizar campo Si/No

aaahh ya te entendi...olvidate del hidden, tienes que enviar el id por medio del value checkbox.

Código:
<input <%if RS2("Camp22") = "True" Then Response.Write("CHECKED") End if%> TYPE="checkbox" VALUE="<%=RS2("Camp2Id")%>" NAME="check">
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #51 (permalink)  
Antiguo 19/10/2007, 14:33
Avatar de Uefor  
Fecha de Ingreso: agosto-2006
Ubicación: Murcia
Mensajes: 136
Antigüedad: 18 años, 8 meses
Puntos: 0
Re: Actualizar campo Si/No

¿Entonces en el update como lo recogería? tal y como está me da error tambien

sql = "UPDATE T2 SET Camp22 = "&Ptr&" WHERE Id= "&Request.QueryString("Id")&""
  #52 (permalink)  
Antiguo 19/10/2007, 14:35
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 23 años, 3 meses
Puntos: 146
Re: Actualizar campo Si/No

¿¿ sql = "UPDATE T2 SET Camp22 = "&Ptr&" WHERE Id in ( "&Request.QueryString("Id")&")" ??
  #53 (permalink)  
Antiguo 19/10/2007, 14:36
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 23 años, 3 meses
Puntos: 98
Re: Actualizar campo Si/No

Uefor, ya me perdiste...por favor, puedes explicar a detalle que hace y que pretendes logar con tu interfaz? Aunque sea extenso por favor incluye la estructura de tu tabla, y todo el código que interviene en el proceso, terminemos de una buena vez con esta agonía .

Saludos
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #54 (permalink)  
Antiguo 19/10/2007, 14:37
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 23 años, 3 meses
Puntos: 98
Re: Actualizar campo Si/No

Cita:
Iniciado por Myakire Ver Mensaje
¿¿ sql = "UPDATE T2 SET Camp22 = "&Ptr&" WHERE Id in ( "&Request.QueryString("Id")&")" ??
No Myakire...estamos envíando por post pero estoy viendo que tenemos varios registros y al parecer la interfaz pretende elegir de uno por uno...por eso le pedí a Uefor que explique en detalle.

Salud, salud, saluuuuuuuuuuuuuud
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #55 (permalink)  
Antiguo 19/10/2007, 15:17
Avatar de Uefor  
Fecha de Ingreso: agosto-2006
Ubicación: Murcia
Mensajes: 136
Antigüedad: 18 años, 8 meses
Puntos: 0
Busqueda Re: Actualizar campo Si/No

Claro jejeje, es desesperante de verdad...
En la primera página selecciono un valor de un select para ver los datos que están relacionados en dos tablas distintas, por un lado datos relacionados con el evento y por otro la gente que va a ir.

Lo que necesito actualizar dependiendo de las circunstancias es la persona que va a manejar la embarcación (hablamos de buceadores) marcando o desmarcando el checkbox famoso.

Última edición por Uefor; 25/10/2007 a las 15:33
  #56 (permalink)  
Antiguo 19/10/2007, 15:22
Avatar de Uefor  
Fecha de Ingreso: agosto-2006
Ubicación: Murcia
Mensajes: 136
Antigüedad: 18 años, 8 meses
Puntos: 0
Re: Actualizar campo Si/No

Por si ayuda a entenderse mejor:

Hay una persona repetida tres veces porque es una salida para hacer pruebas solamente y el botón enviar tengo que ubicarlo en otro lugar obviamente, pero son detalles solo
  #57 (permalink)  
Antiguo 19/10/2007, 15:23
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 23 años, 3 meses
Puntos: 98
Re: Actualizar campo Si/No

Claro que ayuda veamos...Una pregunta: ¿Los datos se actualizan de uno por uno? por aquello del botón enviar al lado de cada checkbox
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #58 (permalink)  
Antiguo 19/10/2007, 15:30
Avatar de Uefor  
Fecha de Ingreso: agosto-2006
Ubicación: Murcia
Mensajes: 136
Antigüedad: 18 años, 8 meses
Puntos: 0
Re: Actualizar campo Si/No

En pricipio no es importante, lo coloqué ahí en otra de las multiples pruebas que he hecho, pero puse solo uno abajo de inicio... no es necesario que solo actualice un registro.
  #59 (permalink)  
Antiguo 19/10/2007, 16:04
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 23 años, 3 meses
Puntos: 98
Re: Actualizar campo Si/No

A ver, reemplaza todo el while que crea los checkboxes con esto:
Código:
	<%		
	Dim strChecks
	strChecks = ""
	do while not RS_buzos.eof  
	%>    
		<table WIDTH="600" ID="Table1">
		<tr>
			<td WIDTH="26">
				<%=i_buzos%>
			</td> 
			<td WIDTH="78">
				<%=RS_buzos("Socio")%>
			</td>                       
			<td WIDTH="395">
				<%=RS_buzos("Nombre")%>
			</td>
			<td WIDTH="77" >
				<input <%if RS_buzos("Patron") = "True" Then Response.Write("CHECKED") End if%> TYPE="checkbox" VALUE="<%=RS_buzos("Id")%>"  NAME="check">
			</td>
		</tr>
		</table>
		<%
		i_buzos = i_buzos + 1
		strChecks = strChecks & RS_buzos("Id") & ","
		RS_buzos.movenext
    loop
    strChecks = left(strChecks, len(strChecks) - 1)
	%>
	<input type="hidden" name="idsSeleccionados" value="<%=strChecks%>" />
y donde recibes reemplaza tu query con esto:
Código:
	<%
	sql = "UPDATE buzos_incl SET Patron = 0 WHERE Id IN ("&Request.Form("idsSeleccionados")&")"
	Conn.Execute(sql)
	sql = "UPDATE buzos_incl SET Patron = 1 WHERE Id IN("&Request.Form("check")&")"
	Conn.Execute(sql)
	%>
A ver si ya funciona...
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway

Última edición por u_goldman; 19/10/2007 a las 16:06 Razón: Edit, los queries estaban mal
  #60 (permalink)  
Antiguo 19/10/2007, 16:17
Avatar de Uefor  
Fecha de Ingreso: agosto-2006
Ubicación: Murcia
Mensajes: 136
Antigüedad: 18 años, 8 meses
Puntos: 0
De acuerdo Re: Actualizar campo Si/No

Por fin... gracias goldman ha costado lo suyo, aunque aun queda un pequeño error, si recibe todos los checkbox vacios te da un error en la query, pero por lo menos ya hemos avanzado.
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:41.