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

Hig*_*wer 4 ms-access listbox access-vba

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

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

在此输入图像描述

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

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

Jér*_*ire 10

你可以使用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
Run Code Online (Sandbox Code Playgroud)