Access 2013 - 生成#Name的文本框公式?错误

时间:2016-02-04 22:34:28

标签: sql access-vba

我有一个文本框,我想显示2个值中的一个 - 1.约会 2.“不完整”一词

我已经在即时窗口中对此进行了测试,但效果非常好。

这是我的逻辑: 如果我的期望条件为真,那么所有记录都会有日期,如果日期不同或某些记录没有日期,那么它将是“不完整”

这可以通过分析这个名为SP_ALL_ACTUALS_AS_OF:

的查询来实现
SELECT tbl_SP.Actuals_AsOf
FROM tbl_SP
GROUP BY tbl_SP.Actuals_AsOf;

如果查询是我想要的条件,则只出现一条记录 - tbl_SP的Actuals_AsOf字段中每条记录中的“日期”

但是,如果此处和那里有空白,则至少有2条记录,其中一条记录不是日期。因此,如果我发现1个分组不是日期,那么整个条件应该是“不完整”

所以这里是文本框中的公式

IIf(DCount("[Actuals_AsOf]","SP_ALL_ACTUALS_AS_OF",IsDate([Actuals_AsOf])=False)=1,"Incomplete",Nz(DLookUp("[Actuals_AsOf]","SP_ALL_ACTUALS_AS_OF"),"Not pulled"))

我在即时窗口测试了它,一切都很好。但是,当我在表单上实现此文本框时,我得到一个#Name?错误。为什么呢?

2 个答案:

答案 0 :(得分:0)

尝试:

=IIf(DCount("*","SP_ALL_ACTUALS_AS_OF","IsDate([Actuals_AsOf])=False")=1,"Incomplete",Nz(DLookUp("[Actuals_AsOf]","SP_ALL_ACTUALS_AS_OF"),"Not pulled"))

答案 1 :(得分:0)

如果您将“公式”放在文本框的控件来源中,则必须:

1)用等号('=')

开始你的控制源字符串

2)用分号(';')

替换所有逗号(',')

您还可以在表单的onCurrent eventProc或onLoad事件中使用VBA设置文本框,并将公式设置为在帖子中写入。