【问题标题】:Average of a query column put into a Text Box放入文本框中的查询列的平均值
【发布时间】:2018-04-16 16:59:40
【问题描述】:

我想将查询列的平均值放入文本框中。目的是找出学生的平均分,并将其放入表格中的文本框中。到目前为止,我在 Control Source 字段中的代码如下所示:

= Avg(SELECT Marks.Mark
FROM Marks
WHERE ([IdS]=[Marks].[IdS]))

其中[IdS] 是一个文本框,其中包含此表单中所选学生的学生 ID。当我返回表单视图时,文本框给了我#Error。

有什么想法吗?

【问题讨论】:

  • SELECT AVG(Marks.Mark) FROM ...
  • @BJones 现在显示#Name? =(SELECT Avg(Marks.Mark) FROM Marks WHERE ([IdS]=[Marks].[IdS]))
  • 无法在文本框表达式中引用表格或查询。使用 DAvg() 域聚合或简单聚合 =Avg([Mark]) - 对于后者,将过滤条件应用于表单以将计算限制为单个 IdS。聚合计算最好在使用排序和分组功能的报表中完成。

标签: sql ms-access ms-access-2016


【解决方案1】:

您正在为控制记录源使用 SQL 语句,或者您需要使用查询作为基础表单源或使用域聚合来获得所需的结果=DAvg("[Marks]![Mark]","Marks"," [Marks]![ID] = [IdS] ")。 (更改 [IdS] 值时不要忘记设置表单重新查询)

【讨论】:

    猜你喜欢
    • 2018-01-20
    • 1970-01-01
    • 2018-07-12
    • 2012-02-03
    • 2017-06-30
    • 2013-07-14
    • 2019-03-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多