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

问题描述 投票:4回答:1

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

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

“在此处输入图像描述”

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

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

ms-access listbox access-vba
1个回答
11
投票

您可以使用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
© www.soinside.com 2019 - 2024. All rights reserved.