ms-access - additem - listbox.selected vba
MS Access Determine el elemento de cuadro de lista en el que se hizo clic en evento de clic (1)
Tengo un ListBox dentro de MS Access y me gustaría encontrar la mejor manera de obtener el elemento de la lista que fue seleccionado / deseleccionado en el momento del evento de hacer clic.
Es un poco más complicado que recorrer los elementos seleccionados, ya que el cuadro de lista ya está cargado con algunos elementos seleccionados. Estoy tratando de encontrar el único elemento que se vio afectado en el momento del evento al hacer clic.
Entonces, si el usuario hace clic en "Col2-How" en el ejemplo anterior, ¿cómo puedo determinar que se hizo clic en el registro? Alternativamente, si se deselecciona el primer registro, necesitaría saberlo. ¿Alguna pista?
Lo único que se me ocurre es usar un objeto en memoria para mantener una lista de filas resaltadas y hacer un seguimiento de los elementos seleccionados en el momento del clic para determinar los deltas.
podría usar el evento AfterUpdate, por ejemplo, el nombre del listbox es ''aListbox'', así que intente esto:
Private Sub aListBox_AfterUpdate()
Dim rowIndex As Integer
Dim rowValue As String
Dim rowIsSelected As Integer
Dim result As String
'' ListBox row index clicked
rowIndex = Me.aListBox.ListIndex
'' Row value clicked
rowValue = Me.aListBox.Column(0)
'' If row is selected return value is -1, if unselected return value 0
rowIsSelected = Me.aListBox.Selected(rowIndex)
If (rowIsSelected = -1) Then
result = rowValue & " selected"
Else
result = rowValue & " unselected"
End If
MsgBox (result)
End Sub