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

Consulta por medio de un checbox

Estas en el tema de Consulta por medio de un checbox en el foro de ASP Clásico en Foros del Web. Hola a todos. Eh estado tratando de hacer este pequeño pragrama en ASP pero la verdad es que ya no se me ocurre como hacerlo ...
  #1 (permalink)  
Antiguo 18/12/2003, 15:38
Avatar de Cuezaltzin  
Fecha de Ingreso: diciembre-2003
Ubicación: Frente al Monitor
Mensajes: 252
Antigüedad: 21 años, 4 meses
Puntos: 0
Exclamación Consulta por medio de un checbox

Hola a todos.

Eh estado tratando de hacer este pequeño pragrama en ASP pero la verdad es que ya no se me ocurre como hacerlo y ya esto muy desesperado espero alguin me pueda decir como hacerlo o alguna idea de antemano gracias.

Aqui voy, lo que quiero hacer es que en una pagina me muestre todos los datos de una base de datos y alado de cada registro este con un checkbox.Bien eso ya lo tengo el problemas:

Tengo 10 registros y quiero seleccionar X cantidad de registros todo esto por medio de los checkbox y que despues en otra pagina me muestre solo los x checkbox que haya seleccionado en la pagina anterior.

Por su atencion mil gracias.
  #2 (permalink)  
Antiguo 18/12/2003, 16:18
 
Fecha de Ingreso: noviembre-2003
Mensajes: 343
Antigüedad: 21 años, 5 meses
Puntos: 0
Consulta los faqs de los foros anteriores, me parece haber visto algo asi...
__________________


La tecnología es un hecho objetivo, y el resultado está sujeto a la voluntad humana.
  #3 (permalink)  
Antiguo 18/12/2003, 16:20
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 24 años, 2 meses
Puntos: 535
a todos los checkboxes les ponés el mismo nombre, y a cada uno, como value, el id del registro que le corresponde. Luego en la página que recibe los datos va a llegar cada ID separado por comas (sólo de los que se marcaron)... esto lo podés usar en un IN() de esta manera:

registros = request("el_name_que_le_pusiste_a_los_checkboxes")

sql = "select * from tabla where campoID IN(" & registros & ")"
__________________
...___...
  #4 (permalink)  
Antiguo 18/12/2003, 16:43
Avatar de Cuezaltzin  
Fecha de Ingreso: diciembre-2003
Ubicación: Frente al Monitor
Mensajes: 252
Antigüedad: 21 años, 4 meses
Puntos: 0
Pues esto no me esta saliendo mira te mando mi codigo para que mne digas que estoy haciendo mal.

<Comparar.asp>

<tr>

<td width="32" height="19"><input type="checkbox" name="chk" value="<%=table("ID") %>"></td>
<td width="202" height="19" align="center"><%=table("Nombre") %></td>
<td width="159" height="19" align="center"><%=table("Descripcion") %></td>
<td width="160" height="19" align="center"><%=table("Cantidad") %></td>
<td width="109" height="19" align="center"><%=table("Precio") %></td>
</tr>

-------segunda pagina-------

<nada.asp>

<%
dim BDDD
dim table
dim SQL1

'Registros = Request("ID")
Registros = "'" & Request.Form ("ID") & "'"

Set BDDD = Server.CreateObject ("ADODB.Connection")
Set table = Server.CreateObject ("ADODB.RecordSet")
BDDD.Open ("PROVIDER=Microsoft.Jet.OLEDB.4.0 ;DATA SOURCE=" + Server.MapPath("./Comparar.mdb"))

SQL1="SELECT * FROM Comparar WHERE ID IN(" &Registros& ")"

table.ActiveConnection=BDDD
table.Open SQL1

%>

El error que me sale es el siguiente

Tipo de error:
Microsoft JET Database Engine (0x80040E07)
No coinciden los tipos de datos en la expresión de criterios.
/pcworld/Comparar/nada.asp, line 27

Gracias por tu ayuda.
__________________
Hasta la victoria Siempre.
  #5 (permalink)  
Antiguo 18/12/2003, 23:23
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 24 años, 2 meses
Puntos: 535
Mmm... no sé... pero comencemos por eliminar la "basura"... vos tenés esto:


Registros = "'" & Request.Form ("ID") & "'"


...dejalo así:

Registros = Request.Form("ID")



Otra cosa... si en tu <form> tenés definido que los checkbox se llamen "chk", entonces deberías hacer esto...

Registros = Request.Form ("chk")



el resto me pareció correcto.

Última edición por AlZuwaga; 18/12/2003 a las 23:27
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 10:58.