1

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

我正在寻找的是一种选择列(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

4

3 回答 3

3

我想你想要:

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

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

于 2012-09-27T14:00:13.853 回答
1

Me.listresult给出绑定列

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

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

Me.listSource.ItemData(Me.ListSource.ItemsSelected(0))
于 2012-09-27T13:43:44.060 回答
0

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

另请参阅:检索多列访问列表框的选定行的列值

于 2012-09-27T13:42:52.330 回答