MS Access 2007 - 循环访问列表框中的值以获取SQL语句的ID

Jus*_*tin 2 ms-access vba ms-access-2007 ms-access-2003

假设我有两个表,一个用于事务,另一个表的主键是第一个表中的外键,这种关系只是将位置与事务相关联.

我有一个带有列表框的表单,其中显示了所有可能的位置,以便用户可以打开一些仅与给定位置相关的仪表板表单.所以我知道如何将数据从选择传递到仪表板,但我现在希望用户能够从第一个列表中选择多个位置.

所以,如果我使用SQL语句,WHERE子句就像

 .... WHERE LocationID = " & me.lstLocations.value & ";"
Run Code Online (Sandbox Code Playgroud)

但是我如何将这种方法等同于选择多个选择呢?我确信有一些类型的循环逃脱了我.

谢谢贾斯汀

Fio*_*ala 6

您可以使用

WHERE LocationID IN (" & listofvalues & ");"
Run Code Online (Sandbox Code Playgroud)

列表可以像这样获得:

For Each itm In Me.ListBox.ItemsSelected
  listofvalues = listofvalues & "," & Me.ListBox.Column(0, itm)
Next

listofvalues = Mid(listofvalues,2)
Run Code Online (Sandbox Code Playgroud)

这是一个数字列表,一个字符串列表需要引号.