编译此函数时出错。访问2013计算字段问题

时间:2017-11-23 10:55:35

标签: ms-access

我有一个表格,其字段是计算类型,包含以下表达式:

IIf(IsNull([OrderValue]),[TotalPhaseLabourCost]-[DefaultOrderValue],[TotalPhaseLabourCost]-[OrderValue])

出于某种原因,当我在任何视图中打开表时,它会抛出错误:

“编译此功能时出错。 Visual Basic模块包含语法错误。 检查代码,然后重新编译它。“

但是,我目前在两台笔记本电脑上打开了这个数据库,一个工作正常,另一个有这个问题。我检查了两个db的参考,他们也匹配。

3 个答案:

答案 0 :(得分:0)

这有点模糊,所以我只能猜测。

  1. 尝试编译代码,如错误消息所示。
  2. 检查您是否有与您的字段同名的任何功能
  3. 尝试将IIf(IsNull([OrderValue]),替换为IIf([OrderValue] is Null,

答案 1 :(得分:0)

你可能会错过领先的等号:

=IIf(IsNull([OrderValue]),[TotalPhaseLabourCost]-[DefaultOrderValue],[TotalPhaseLabourCost]-[OrderValue])

或者您可以使用:

=[TotalPhaseLabourCost]-Nz([OrderValue],[DefaultOrderValue])

答案 2 :(得分:0)

对我来说,某些字段存在一些问题(在“新”记录的某些字段(日期,数字)中显示了错误消息#NAME?
对我来说,它可以关闭表格,右键单击它并在设计视图中打开。
对于每个有问题的字段,我从下拉菜单中再次选择数据类型(已显示)(因此,相同的数据类型!)。
保存。
然后它不再显示错误消息。