Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Almacenar selección múltiple de un cuadro de lista en un campo

1,639 views
Skip to first unread message

xavi...@gmail.com

unread,
Jan 9, 2008, 1:04:28 PM1/9/08
to
Hola a todos. Soy novato en esto del access y tengo un problema en
access2003.

Tengo un listbox que visualiza los registros de un campo de una tabla.
Tengo que hacer selección mútiple en el listbox... he leído que se
puede almacenar todos los valores como cadena de texto separada con
comas... pero... no me queda nada claro. ¿cómo lo debo hacer?

Muchas gracias y saludos

Emilio

unread,
Jan 9, 2008, 1:24:37 PM1/9/08
to
--------------------------------------------------------------------------
¡Importante!: Colabora con el grupo.Contesta a este mensaje y dinos si te
sirvió o no la respuesta dada. Muchas gracias
--------------------------------------------------------------------------
Hola!

tengo la impresión de que mezclas churras con merinas ;)

Un cuadro de lista se puede cargar mediante una serie de cadenas
concatenadas con comas (o puntos y comas según la configuración regional de
cada cual), pero la selección múltiple no tiene nada ver con eso, es una
propiedad mas que puedes ajustar entre las propiedades del cuadro de lista.

Saludos a tod@s

Emilio [MS-MVP Access 2006/8]
miliuco56 ALGARROBA hotmail.com
http://www.mvp-access.com/foro
http://www.mvp-access.com/emilioque


<xavi...@gmail.com> escribió en el mensaje
news:0f8c1d15-6daf-4cc5...@i72g2000hsd.googlegroups.com...

xavi...@gmail.com

unread,
Jan 10, 2008, 5:28:02 AM1/10/08
to
Hola de nuevo,

Creo que no me he explicado bien. Tengo un listbox configurado con
selección múltiple; mi pregunta es: como puedo almacenar esa selección
múltiple en el campo?.

Gracias.

Emilio

unread,
Jan 10, 2008, 6:09:20 AM1/10/08
to
--------------------------------------------------------------------------
¡Importante!: Colabora con el grupo.Contesta a este mensaje y dinos si te
sirvió o no la respuesta dada. Muchas gracias
--------------------------------------------------------------------------
Pues si, cualquier parecido con la realidad ...

a ver tengo un botón (cmdGuardar), un cuadro de lista (lstPais) configurado
para selección multiple y un cuadro de texto (txtResultado), en el evento al
hacer click del botón he puesto el siguiente código

Private Sub cmdGuardar_Click()
Dim i As Integer, _
strCadena As String

For i = 0 To Me.lstPais.ListCount - 1
If Me.lstPais.Selected(i) Then
strCadena = strCadena & Me.lstPais.Column(1, i) & ","
End If
Next i
Me.txtResultado = Left(strCadena, Len(strCadena) - 1)
End Sub

que me devuelve en el cuadro de texto txtResultado los distintos paises
seleccionados concatenados con una coma, OjO, el cuadro de lista tiene dos
columnas, la primera es la clave y está oculta, por eso lo de column(1, i)

Saludos a tod@s
Emilio [MS-MVP Access 2006/8]
miliuco56 ALGARROBA hotmail.com
http://www.mvp-access.com/foro
http://www.mvp-access.com/emilio

<xavi...@gmail.com> escribió en el mensaje

news:c61b9667-adf1-4974...@k2g2000hse.googlegroups.com...

xavi...@gmail.com

unread,
Jan 10, 2008, 2:36:54 PM1/10/08
to
> <xavie...@gmail.com> escribió en el mensajenews:c61b9667-adf1-4974...@k2g2000hse.googlegroups.com...

> Hola de nuevo,
>
> Creo que no me he explicado bien. Tengo un listbox configurado con
> selección múltiple; mi pregunta es: como puedo almacenar esa selección
> múltiple en el campo?.
>
> Gracias.

Me ha servido de mucha ayuda, gracias.

Saludos a todos

Emilio

unread,
Jan 10, 2008, 2:46:11 PM1/10/08
to
:-))

Saludos a tod@s

Emilio [MS-MVP Access 2006/8]


<xavi...@gmail.com> escribió en el mensaje

news:68daf0f5-4377-4ece...@d4g2000prg.googlegroups.com...

rlaf...@gmail.com

unread,
Oct 24, 2016, 8:58:20 AM10/24/16
to
El dimecres, 9 gener de 2008 19:04:28 UTC+1, Xavimb va escriure:
Hola, hace tiempo de esta conversación, pero estoy aprovechando las respuestas y tengo un problema: cuando ya he capturado en el cuadro de texto la información del cuadro de lista, intento capturar el campo para el filtro de una consulta, y el sistema me da el error de que es demasiado complejo... pero sólo al seleccionar valores múltiples; si escojo un único resultado en el cuadro de lista, la consulta funciona... no sé qué hacer...

Francisco Prado

unread,
Oct 27, 2016, 12:38:40 PM10/27/16
to
Hola tienes que recorren la coleccion de la lista con los elementos
marcados y construir tu propio filtro y que daria mas o menos asi:

Crea un Formulario con una LISTA le activas multi select y un boton y lo
llamas cmdLista, pegas el codigo y ejecutas el formulario


Private Sub cmdLista_Click()
Dim sFiltro As String
Dim sSQL As String
Dim nI As Long

sFiltro = ""
For nI = 0 To LISTA.ItemsSelected.Count - 1
sFiltro = sFiltro & "'" &
LISTA.ItemData(LISTA.ItemsSelected.Item(nI)) & "',"
Next
If Len(sFiltro) > 0 Then
sFiltro = Mid$(sFiltro, 1, Len(sFiltro) - 1)
sSQL = "SELECT * FROM MI_TABLA WHERE MI_CAMPO IN (" & sFiltro & ")"
Else
sSQL = "SELECT * FROM MI_TABLA"
End If

'Con este resultado lo colocas en cualquier recordsource y ejecutas
el metodo requery
'Me.RecordSource = miSQL
'Me.Requery

MsgBox sSQL
End Sub

Saludos

Abel MuMo

unread,
Jan 25, 2024, 11:24:49 AMJan 25
to
Hola Francisco,

Sé que han pasado ya 8 años desde la respuesta anterior, y espero que todo vaya bien. Me he encontrado con el mismo problema y no entiendo al 100% la respuesta que proporcionas, disculpa.

En mi caso tengo un cuadro de lista llamado CodigoMasa, y he creado un botón llamado btnCodigoMasa. Mis dudas serían:
¿Qué código tengo que añadir al evento de "Al hacer clic" en dicho botón para poder almacenar todos los valores seleccionados? Están en la primera columna de la lista (columna 0)
¿Cómo uso después estos valores como criterio de filtro en otra consulta? La intención es utilizar diferentes "CodigoMasa" como filtro para una consulta posterior, para que sirva de filtro y sólo muestre resultados relacionados con los "CodigoMasa" seleccionados en esa lista.

Disculpa si la duda es muy básica, he empezado hace poco a trabajar con Access, y si bien he conseguido integrar diferentes filtros de forma sucesiva e ir sorteando diferentes problemas, cuando me han pedido habilitar la selección múltiple me he encontrado con una sutiación similar a la que te planteaban. Agradecería mucho la ayuda.

Un saludo,
Abel
0 new messages