【问题标题】:Retrieve column values of the selected row of a multicolumn Access listbox检索多列访问列表框的选定行的列值
【发布时间】:2011-06-06 15:31:48
【问题描述】:

如何在多列列表框中检索选定行的指定列的值?

我通过使用 SQL 字符串设置 RowSource 属性来填充列表框。 BoundColumn 设置为值 1。

我可以使用ListBox.Value 检索(选定行的)绑定列的值。但我也想要另一列的值。

【问题讨论】:

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


    【解决方案1】:

    对于多列列表框,从选定行的任意列中提取数据

     listboxControl.List(listboxControl.ListIndex,col_num)
    

    其中 col_num 是必填列(第一列为 0)

    【讨论】:

    • 我想你的意思是 listboxControl.Column(col_num, listboxControl.ListIndex)
    【解决方案2】:

    只是一点点补充。 如果您只选择了 1 行,那么下面的代码将为所选行选择列的值(索引为 4,但第 5 列):

    me.lstIssues.Column(4)
    

    这样就不必使用 ItemsSelected 属性。

    克里斯蒂安

    【讨论】:

    • 非常感谢。如果您要在 ListBox 中查找 Current Selected 行,这是完美的代码。 +1
    【解决方案3】:

    使用listboxControl.Column(intColumn,intRow)。 Column 和 Row 都是从零开始的。

    【讨论】:

    • 我认为你需要加强一点才能在多选列表框中获取当前选定的项目,例如:For Each itm In Me.List0.ItemsSelected .. s = s & vbCrLf & Me.List0.Column(1, itm) .. Next .. MsgBox s
    • @Remou——你是绝对正确的。事实上,我当前项目中的代码正是这样做的——但 OP 的问题使用了定冠词,我认为它暗示了一个选定的行。另外--我确定您知道这一点,但对于其他阅读者,请记住您示例中的 itm 必须是 Variant
    • 是的,我的意思是一个选定的行,所以 listboxControl.Column(intColumn) 对我来说很好。谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-08
    • 2012-03-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多