0

我有两个列表框:listbox1 和 listbox2。如何获得 listbox2.rowsource = filter 其中 filter 等于 listbox1 中的多项选择?在此处输入图像描述

4

1 回答 1

1

您可以遍历 listbox1 中的选定项目,并将它们连接成一个 SQL 字符串以提供 listbox2 上的行源。

我看不到你发布的图片,但我写了一个片段(只是“空中编码”,可能不起作用),应该给你一个想法。

Private Sub listbox1_AfterUpdate()

Dim itm as Variant, sql as String

For Each itm In listbox1.ItemsSelected
    sql = sql & " OR field1 = '" & listbox1.ItemData(itm) & "'"
Next

sql = "SELECT field FROM table WHERE " & Mid(sql, 5)

listbox2.RowSourceType = "Table/Query"
listbox2.RowSource = sql

End Sub

你也可以这样尝试:

Dim values as String, itm as variant

For Each itm In listbox1.ItemsSelected
    values = values & """" & listbox1.ItemData(itm) & """;"
Next

listbox2.RowSourceType = "Value List"
listbox2.RowSource = values
于 2013-07-30T20:55:53.113 回答