【问题标题】:MS Access 2007 - Cycling through values in a list box to grab id's for a SQL statementMS Access 2007 - 循环列表框中的值以获取 SQL 语句的 ID
【发布时间】:2011-03-19 15:53:38
【问题描述】:

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

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

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

 .... WHERE LocationID = " & me.lstLocations.value & ";"

但是我如何将这种类型的方法等同于选择多个选项?我确信有某种类型的循环让我无法理解。

谢谢 贾斯汀

【问题讨论】:

    标签: ms-access vba ms-access-2007 ms-access-2003


    【解决方案1】:

    你可以使用

    WHERE LocationID IN (" & listofvalues & ");"
    

    列表可以这样获取:

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

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

    【讨论】:

    • @Remou....嘿,第一个例子会像第二个例子一样只代表那些被选中的例子吗?一如既往地感谢 Remou!
    • @Remou ....如果我使用第二个示例,我会在列宽设置为零的列表框中隐藏 ID 值....这真的不会影响不过,对吧?
    • 列宽不重要。这里只有一个示例,一条 SQL 语句以及如何获取该语句的 IN 列表。
    猜你喜欢
    • 1970-01-01
    • 2011-02-25
    • 2016-01-19
    • 1970-01-01
    • 2014-10-04
    • 1970-01-01
    • 1970-01-01
    • 2014-04-04
    • 2011-03-04
    相关资源
    最近更新 更多