【问题标题】:How to make a total column that updates automatically in Access.如何在 Access 中创建一个自动更新的总列。
【发布时间】:2017-09-04 07:37:57
【问题描述】:

在访问中,我试图让我的总价值等于订单号相同的所有不同值的总和。

我目前的代码如下;

= SUM( Forms![OrderLine]![Total] ) Where( Forms![OrderLine]![OrderNo]  = [OrderNo] )

然而,这给了我一个错误。否则该怎么做?

谢谢

【问题讨论】:

  • 那个公式在哪里?在报告中?一个查询,一个表格? OrderLine 表单?当您需要 SUM 时,OrderLine 表单是否打开?
  • 这些都不起作用,因为总计不是来自表格,而是来自表格的计算值
  • @Everton 请提供计算。您是在单一形式还是连续形式上计算?
  • 使用计算在订单表格上计算; =[Quantity].[Value]*DLookUp("Price","Item","ItemID=" & [Forms]![OrderLine]![ItemID]) 我想通过汇总所有一个特定订单的总计
  • 您可以将表单数据源基于将当前使用的 dtable 与 Items 表连接起来的查询。这样你就可以避免那些slooow DLookups

标签: vba ms-access sum


【解决方案1】:

听起来您有一个 Order 表单和一个 OrderLine 子表单。将表单页眉/页脚添加到您的 OrderLine 表单,并在页脚中放置一个文本框。在页脚文本框的 Control Source 中放置一个 SUM 函数,以从订单行项目行中生成您需要的聚合值。

在您的主窗体上,将要显示订单总额的文本框的控制源设置为等于子窗体中不可见文本框的名称。主窗体文本框上的控件源将类似于 SubformControlName.Form.AggregateTextBoxName。

您可能需要使用页眉/页脚、文本框、表单视图模式等的可见性设置来获得所需的演示文稿,但这甚至适用于数据表视图中的子表单。关键是在子窗体的某处获取一个文本框,以计算父窗体上所需的值,然后在父窗体的子窗体控件中引用它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-26
    • 1970-01-01
    • 2010-09-15
    • 2022-11-03
    相关资源
    最近更新 更多