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

select multiple

Estas en el tema de select multiple en el foro de ASP Clásico en Foros del Web. Hola! mi pregunta es la siguiente : tengo un formulario donde hay dos campos, uno es destinatario y otro memo en destinatario hay una lista ...
  #1 (permalink)  
Antiguo 30/05/2006, 16:06
 
Fecha de Ingreso: julio-2003
Mensajes: 70
Antigüedad: 21 años, 9 meses
Puntos: 0
select multiple

Hola!
mi pregunta es la siguiente : tengo un formulario donde hay dos campos, uno es destinatario y otro memo
en destinatario hay una lista de usuarios que trae de un base de datos y en memo es un campo tipo memo.
quiero saber si se puede y como se hace la opcion de elegir destinatarios multiples para poder enviar el mismo memo a varios usuarios
gracias
__________________
NormaB
  #2 (permalink)  
Antiguo 30/05/2006, 18:20
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 23 años, 3 meses
Puntos: 98
Creo que tu problema mas bien es de HTML, lo único que tienes que hacer es agregarle a ese select la propiedad multiple

<select name="nombre" id="nombre" multiple>

Saludos
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #3 (permalink)  
Antiguo 30/05/2006, 18:58
 
Fecha de Ingreso: julio-2003
Mensajes: 70
Antigüedad: 21 años, 9 meses
Puntos: 0
manejo de array

Ok. Gracias por la respuesta, ahora se me presenta otra duda.
Una vez que tengo los datos los recogo y los proceso con arrays pero alli tengo un problema : si yo tengo esos dos campos uno memo y uno destinatario el cual puede ser multiple, como hago para que ese mismo memo se se copie en la base de datos con los distintos destinatarios, si no se cuantos son?
__________________
NormaB
  #4 (permalink)  
Antiguo 30/05/2006, 19:18
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 23 años, 3 meses
Puntos: 98
Cita:
Una vez que tengo los datos los recogo y los proceso con arrays
Tú misma te has dado la solución, si tu select es una lista múltiple, al momento de recoger su valor tendrás lo siguiente

lista = Request.Form("lista")
Response.Write(lista)

Esta es mi salida:
Código:
1, 3, 8
Puedes hacer un mediante el uso de la funcion split, un arreglo:

arr = split(lista, ", ")

Luego juegas con tu arreglo y asi ya sabes cuantos y que elementos tienes.

Saludos
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #5 (permalink)  
Antiguo 31/05/2006, 08:26
 
Fecha de Ingreso: julio-2003
Mensajes: 70
Antigüedad: 21 años, 9 meses
Puntos: 0
gracias voy a probar y luego te aviso
__________________
NormaB
  #6 (permalink)  
Antiguo 02/06/2006, 06:13
 
Fecha de Ingreso: julio-2003
Mensajes: 70
Antigüedad: 21 años, 9 meses
Puntos: 0
intente esto
Dim abonado(), I
I = 0
For Each Valor In Request.Form("abonado")
Redim Preserve abonado(I)
abonado(I) = Valor
I = I + 1
Next
oConn.execute "INSERT INTO servicios_"&nmes&"(abonado,servicio,usuario,puntod eventa,fecha,hora,destino,estado) VALUES('"&valor(I)&"','"&servicio&"','"&usuario&"' ,'"&puntodeventa&"','"&Date()&"','"&Time()&"','"&d estino&"','"&estado&"')"

pero el error que sale es No coinciden los tipos: 'Valor'
__________________
NormaB
  #7 (permalink)  
Antiguo 02/06/2006, 06:32
 
Fecha de Ingreso: abril-2006
Ubicación: Bizkaia
Mensajes: 70
Antigüedad: 19 años
Puntos: 0
Aupa normanB

la variable valor la estas tratando como si fuera un array. y en el trozo de codigo que has puesto se ve que NO es un array, me imagino que te estas confundiendo con la de abonado(i) .

Última edición por GauTxori; 02/06/2006 a las 06:47
  #8 (permalink)  
Antiguo 02/06/2006, 06:57
 
Fecha de Ingreso: julio-2003
Mensajes: 70
Antigüedad: 21 años, 9 meses
Puntos: 0
es que en ese caso tambien tengo un error
el subindice esta fuera del intervalo: '1'
__________________
NormaB
  #9 (permalink)  
Antiguo 02/06/2006, 07:07
 
Fecha de Ingreso: abril-2006
Ubicación: Bizkaia
Mensajes: 70
Antigüedad: 19 años
Puntos: 0
ponle en el indice i-1. ya que el array te va desde 0 a i y tu en tu caso, estas referenciando al ultimo elemento que sera i-1
  #10 (permalink)  
Antiguo 02/06/2006, 07:13
 
Fecha de Ingreso: julio-2003
Mensajes: 70
Antigüedad: 21 años, 9 meses
Puntos: 0
en ese caso lo mismo...me da fuera de intervalo '2'
__________________
NormaB
  #11 (permalink)  
Antiguo 02/06/2006, 08:37
Avatar de JuanRAPerez
Colaborador
 
Fecha de Ingreso: octubre-2003
Mensajes: 2.393
Antigüedad: 21 años, 6 meses
Puntos: 27
y esto


Cita:
Dim abonado(), I
I = 0
For Each Valor In Request.Form("abonado")
Redim Preserve abonado(I)
abonado(I) = Valor
I = I + 1

'el insert no deveria de ir aqui ?
'para insertar todos los valores de i
'y la variable valor que trae?????


oConn.execute "INSERT INTO servicios_"&nmes&"(abonado,servicio,usuario,puntod eventa,fecha,hora,destino,estado) VALUES('"&valor(I)&"','"&servicio&"','"&usuario&"' ,'"&puntodeventa&"','"&Date()&"','"&Time()&"','" &d estino&"','"&estado&"')"
Next
__________________
JuanRa Pérez
San Salvador, El Salvador
  #12 (permalink)  
Antiguo 02/06/2006, 11:38
 
Fecha de Ingreso: julio-2003
Mensajes: 70
Antigüedad: 21 años, 9 meses
Puntos: 0
si, el insert va alli y la variable valor trae los nombres de los usuarios que selecciona en un select multiple
__________________
NormaB
  #13 (permalink)  
Antiguo 02/06/2006, 12:31
 
Fecha de Ingreso: julio-2003
Mensajes: 70
Antigüedad: 21 años, 9 meses
Puntos: 0
lo cambie asi pero sigue dando error
<%
Set conexion = Server.CreateObject("ADODB.Connection")
conexion.Open ("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("db/base.mdb"))
set rs = CreateObject("ADODB.Recordset")
Dim equipos(), I
I = 0
For Each Valor In Request.Form("abonado")
Redim Preserve equipos(I)
equipos(I) = Valor
rs.Open "insert into servicios_6 (abonado)values('"& Request.Form("abonado") &"')", Conexion, 2, 3
I = I + 1
rs.close
Next %>
listo
<%
set rs=nothing
conexion.close
set conexion=nothing
%>
el error es este
ADODB.Recordset error '800a0e78'

La operación no está permitida si el objeto está cerrado.

/pruebas/solicitudes1.asp, line 12

ademas no se si hai estaria haciendo lo correcto
__________________
NormaB
  #14 (permalink)  
Antiguo 02/06/2006, 12:52
 
Fecha de Ingreso: julio-2003
Mensajes: 70
Antigüedad: 21 años, 9 meses
Puntos: 0
lo hice asi
abonado1 = Request.Form("abonado")(1)
abonado2 = Request.Form("abonado")(2)

oConn.execute "INSERT INTO servicios_"&nmes&"(abonado,servicio,usuario,puntod eventa,fecha,hora,destino,estado) VALUES('"&abonado1&"','"&servicio&"','"&usuario&"' ,'"&puntodeventa&"','"&Date()&"','"&Time()&"','"&d estino&"','"&estado&"')"
oConn.execute "INSERT INTO servicios_"&nmes&"(abonado,servicio,usuario,puntod eventa,fecha,hora,destino,estado) VALUES('"&abonado2&"','"&servicio&"','"&usuario&"' ,'"&puntodeventa&"','"&Date()&"','"&Time()&"','"&d estino&"','"&estado&"')"
y anda

esta mal? :roll:
__________________
NormaB
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 22:39.