Access de Xavi

Objetos => Formularios => Mensaje iniciado por: xavi en Octubre 10, 2020, 10:50:29 am

Título: Ítems seleccionados de un ListBox
Publicado por: xavi en Octubre 10, 2020, 10:50:29 am
Palabras clave: listbox, recorrer, multiselección
Autor: Xavi
Extraído de: Harto de buscarlo cuando lo necesito, lo cuelgo aquí

Pregunta
¿Cómo puedo recorrer los ítems seleccionados de un cuadro de lista de selección múltiple?

Respuesta
Habitualmente tratamos con los ListBox en modo de selección simple pero, cuando se trata de un ListBox de multiselección, el modo de obtener la lista de valores seleccionados es ligeramente distinto.

Lo que haremos será imaginar un ListBox de 2 columnas dónde la primera está oculta (es el índice) y la segunda es la que muestra la descripción.
Deseamos obtener la lista de índices que se han seleccionado (da lo mismo que sea selección extendida o no) para almacenarlos en una cadena de texto que utilizaremos, por ejemplo, en una cláusula IN de una SQL.


Código: [Seleccionar]
    Dim varitem
    Dim strTmp As String
    Dim strIN    As String
    For Each varitem In Me!cboEjemplo.ItemsSelected
        strTmp = strTmp & ", " & Me!cboEjemplo.Column(0, varitem)
    Next
    strIN = "IN (" & Mid(strTmp, 3) & ")"