我在MS Access中有一个ListBox,并希望找到获取在点击事件时选择/取消选择的列表项的最佳方法。
它比循环选定的项目稍微复杂一些,因为列表框已经加载了一些选定的项目。我试图找到在点击事件时受影响的单个项目。
因此,如果用户在上面的示例中单击“Col2-How”,我将如何确定是单击的记录,或者,如果取消选择第一条记录,我需要知道。有线索吗?
我唯一能想到的是使用内存中的对象来维护突出显示的行的列表,并在单击时跟踪选定的项目以确定增量?
答案 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