如何在单击时从 Column(0) 中的列表框中引用值?

Posted

技术标签:

【中文标题】如何在单击时从 Column(0) 中的列表框中引用值?【英文标题】:How do I reference a value from a list box in Column(0) on click? 【发布时间】:2012-09-27 13:24:42 【问题描述】:

我有一个基于先前过滤器(文本框)填充的列表框。这意味着列表框中没有预定义的项目数量,因此无法使用索引。

我正在寻找的是一种选择 column(0) 值的方法,因为我的列表框中有 3 列,被点击的选定行。

Private Sub listSource_Click()

Dim strSource As String

strSource = "SELECT [Product Code],[Stock Level],[Description] FROM [products/stock] " & _
"WHERE Mid([Product Code],1,5) = " & Me.listSource.Column(0).Value & ";"

Me.listResult.RowSource = strSource
Me.listResult = vbNullString

End Sub

我认为我需要的只是应该是“Me.listSource.Column(0).Value”所在位置的一小段代码。

提前致谢, 鲍勃·P

【问题讨论】:

【参考方案1】:

我想你想要:

strSource = "SELECT [Product Code],[Stock Level],[Description] " & _
"FROM [products/stock] " & _
"WHERE Mid([Product Code],1,5) = '" & Me.listSource & "';"

注意 Me.listSource 前后的单引号。

【讨论】:

伴侣,你的国王。感谢所有尝试过的人!但这对它进行了排序。【参考方案2】:

Me.listresult 给出绑定列

然后您必须为其他列附加.Column(0),.Column(1) ...。

要找出您需要查看的列表中的哪一个,.ItemsSelected.Count 会告诉您选择了多少(1 表示简单的列表框),.ItemsSelected(0) 会告诉您选择的第一个项目的索引,因此,第一行的第一列的完整行将是:

Me.listSource.ItemData(Me.ListSource.ItemsSelected(0))

【讨论】:

一个小问题:Column(0) 只有在绑定列是 1 时才是默认值。 @Remou,已修复。马虎的编程......我从来没有想过有一个除 1 以外的绑定列【参考方案3】:

您应该可以使用 Me.ListSource.Column(0) 来获取所选行的第一列的值。

另见:Retrieve column values of the selected row of a multicolumn Access listbox

【讨论】:

仍然无法正常工作,这是我正在使用的代码。 strSource = "SELECT [产品代码],[库存水平],[描述] FROM [产品/库存] " & _ "WHERE Mid([产品代码],1,5) = Mid(" & Me.listSource.Column( 0) & ",1,5);"

以上是关于如何在单击时从 Column(0) 中的列表框中引用值?的主要内容,如果未能解决你的问题,请参考以下文章

如何在单击android中的listview项目时从数据库中获取id

单击列表框时,如何在文本框中以另一种形式从ms access 2010中的列表框中移动所选项目

转换为列表时从数据框中删除某些列

如何访问pyspark数据框中的动态列

区分单击显示的项目和单击组合框中下拉列表中的项目

单击时从循环中禁用按钮