MS Access确定单击单击事件的列表框项

时间:2014-10-22 21:18:02

标签: ms-access listbox access-vba

我在MS Access中有一个ListBox,并希望找到获取在点击事件时选择/取消选择的列表项的最佳方法。

它比循环选定的项目稍微复杂一些,因为列表框已经加载了一些选定的项目。我试图找到在点击事件时受影响的单个项目。

enter image description here

因此,如果用户在上面的示例中单击“Col2-How”,我将如何确定是单击的记录,或者,如果取消选择第一条记录,我需要知道。有线索吗?

我唯一能想到的是使用内存中的对象来维护突出显示的行的列表,并在单击时跟踪选定的项目以确定增量?

1 个答案:

答案 0 :(得分:8)

你可以使用AfterUpdate事件,例如列表框的名称是' aListbox', 所以试试这个:

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