我双击了访问表单列表框对象中的哪个项目?
Which item in an access form listbox object have I double-clicked on?
我的表单中有一个列表框,其中 MultiSelect 为 Simple。
我希望能够使用我在 lst_DblClick 子中双击的项目。类似于 Me.lst.Clicked
.
可能已经选择了其他项目,否则我知道我可以遍历这些项目并使用 Me.lst.Selected(i)
或类似的。我无法识别最近点击的那个。除了将它存储在某个地方之外,我不知道该把它放在哪里。
我已经在相同表单的 Click 事件中循环浏览项目,这就是为什么可能已经从中选择了一些项目。
附带说明一下,我不确定我在这里输入的内容是否会起作用,因为 https://msdn.microsoft.com/en-us/library/office/ff837260.aspx 告诉我点击事件会像两次一样触发。我不是通过单击打开消息框或类似的,所以希望它仍然会触发。
无需编写一堆代码就可以做你想做的事。
当Access Listbox有1个或多个项目selected(无论是使用"Simple"还是"Extended"多select模式),有多种方法可以获取在数据处。
如果您想知道列表框中当前 selected 的项目(最后单击的项目),您可以使用 .Column 属性 引用它而不指定行范围。 Index 参数基于 0,因此列表框中的第 1 列被引用为 0 和 .Column 属性,第 2 列被引用为 1,等等
Me.lst.Column(0)
因此,例如,假设您的列表框中的第一列包含您要在双击事件中对其进行操作的唯一行标识符,您可以在双击事件中使用该值引用该值上面显示的代码行,然后对该值进行操作。
当您想遍历多 select 列表框中的所有 selected 项目时,您可以通过枚举 .ItemsSelected 属性.
Dim varItm As Variant
Dim ID As Long
Dim AName As String
For Each varItm In Me.lst.ItemsSelected
'Loop and do something with one or more values from each selected
'row in the listbox
ID = Me.lst.Column(0, varItm) 'get the value from the 1st column
AName = Me.lst.Column(2, varItm) 'get the value from the 3rd column
Next varItm
我的表单中有一个列表框,其中 MultiSelect 为 Simple。
我希望能够使用我在 lst_DblClick 子中双击的项目。类似于 Me.lst.Clicked
.
可能已经选择了其他项目,否则我知道我可以遍历这些项目并使用 Me.lst.Selected(i)
或类似的。我无法识别最近点击的那个。除了将它存储在某个地方之外,我不知道该把它放在哪里。
我已经在相同表单的 Click 事件中循环浏览项目,这就是为什么可能已经从中选择了一些项目。
附带说明一下,我不确定我在这里输入的内容是否会起作用,因为 https://msdn.microsoft.com/en-us/library/office/ff837260.aspx 告诉我点击事件会像两次一样触发。我不是通过单击打开消息框或类似的,所以希望它仍然会触发。
无需编写一堆代码就可以做你想做的事。
当Access Listbox有1个或多个项目selected(无论是使用"Simple"还是"Extended"多select模式),有多种方法可以获取在数据处。
如果您想知道列表框中当前 selected 的项目(最后单击的项目),您可以使用 .Column 属性 引用它而不指定行范围。 Index 参数基于 0,因此列表框中的第 1 列被引用为 0 和 .Column 属性,第 2 列被引用为 1,等等
Me.lst.Column(0)
因此,例如,假设您的列表框中的第一列包含您要在双击事件中对其进行操作的唯一行标识符,您可以在双击事件中使用该值引用该值上面显示的代码行,然后对该值进行操作。
当您想遍历多 select 列表框中的所有 selected 项目时,您可以通过枚举 .ItemsSelected 属性.
Dim varItm As Variant
Dim ID As Long
Dim AName As String
For Each varItm In Me.lst.ItemsSelected
'Loop and do something with one or more values from each selected
'row in the listbox
ID = Me.lst.Column(0, varItm) 'get the value from the 1st column
AName = Me.lst.Column(2, varItm) 'get the value from the 3rd column
Next varItm