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