如何将用户窗体列表框中的 1 个特定列相加以显示在同一窗体的文本框中

How to sum 1 specific column from a userform listbox to display in a textbox on same form

我已经尝试了几个小时来自己解决我的问题,但没有成功。

我的控件如下

用户表单 - [frm_Team_View]
列表框 - [lst.Team](第 0 列=姓名,第 1 列=姓名首字母,第 2 列=经理,第 3 列=工作时间)

我正在尝试计算整个团队的总工作时间并将其显示在文本框中 - [txt_THours]。

我在 VBA 中尝试使用 DSUM 和 SUM
我也使用控件源尝试了相同的方法。

txt_THours.Value = Sum(Forms![frm_Team_View]![lst_Team].column(3))

每次我不断收到文本框中显示的#Error 消息。

我设法使用 .listcount 函数计算了列表框中的行数。我一直没能找到对这些值求和的函数。

查询是 运行 直接来自列表框,因此没有单独保存。我无法单独保存查询,因为这不允许我在用户表单上使用其他功能。

非常感谢

无法使用表达式对列表框中的值求和。

我假设您是动态构建列表框的 RowSource?执行此操作时,将 WHERE 子句保存在变量中,并在文本框的 DSum 表达式中使用相同的 WHERE 子句。

或者运行在设置 RowSource 之后 VBA 在行上循环,但这看起来有点傻。

For i = 0 To Me.lst_Team.ListCount - 1
    mySum = mySum + Me.lst_Team.Column(3, i)
Next i

几个小时后我设法解决了这个问题。 请看下面

txt_THours = DSum("[Hrs]", "Manager_Query")