【问题标题】:Access Function Builder in Query builder return nothing查询生成器中的访问函数生成器不返回任何内容
【发布时间】:2021-10-15 22:56:58
【问题描述】:

我正在通过更新查询运行一个复杂的计算,我设法完成了所有其他工作,但是我正在努力完成这一点。我使用函数生成器窗口为目标字段设置更新 fo 字段。我的表格如下:

PHD_TAG Cal_Value Moisture CO2_EF CO2
ABC 100 0.5 0.45 *
FAC1 20
FAC2 7

我的功能是用 * 计算和更新 CO2 字段

(1-((DLookup("Cal_Value", "TempTbl", "PHD_TAG = 'FAC1'"))+[Moisture])/100)*(DLookup("Cal_Value", "TempTbl", "PHD_TAG = 'FAC2'"))*[CO2_EF]/(22.4*44*24)

在查询生成器“SQL Query”中生成的查询如下:

UPDATE TempTbl SET TempTbl.CO2 = (1-((DLookUp("Cal_Value","TempTbl","PHD_TAG = 'FAC1'"))+[Moisture])/100)*(DLookUp("Cal_Value","TempTbl","PHD_TAG = 'FAC2'"))*[CO2_EF]/(22.4*44*24)
WHERE (((TempTbl.PHD_TAG)="ABC"));

【问题讨论】:

  • 会发生什么 - 错误消息,错误结果,什么都没有? FAC1 和 FAC2 是唯一值吗?为什么要保存计算值而不是只在需要时进行计算?这是一个奇怪的要求——为什么 ABC 记录中的 CO2 依赖于 FAC1 和 FAC2 记录,为什么 FAC1 和 FAC2 中的字段为空?
  • “CO2”是什么数字类型?当您使用提供的数据运行函数时,答案是 1.05868252840909E-04,因此根据表中使用的数字类型,它可能会将其更新为 0。
  • FAC1和FAC1是数字和字母的组合,是每台设备的特殊标识,不同的设备对CO2的计算方法不同。
  • 当我运行上面的代码时没有显示结果

标签: sql function ms-access


【解决方案1】:

我的 PHDTAG 错误并修复了它,然后我不得不更改括号以执行正确的数学计算。

使用的表达式是正确的,只是 PHD_TAG 错误并且公式中的括号

【讨论】:

    猜你喜欢
    • 2013-02-17
    • 1970-01-01
    • 1970-01-01
    • 2020-02-25
    • 1970-01-01
    • 2021-06-04
    • 2017-12-04
    • 1970-01-01
    • 2020-06-24
    相关资源
    最近更新 更多