Ms office Microsoft Access 2013记录源列

Ms office Microsoft Access 2013记录源列,ms-office,ms-access-2013,Ms Office,Ms Access 2013,我最近接到了在access数据库中定制报告的任务,我已经多年没有接触access了,所以它对我来说有点生疏。我已成功地将字段添加到表中、添加到表单中以及添加到报表中。如果我运行报告,他们会正确查询。但报告上的所有其他字段都使用以下表达式进行设置: =IIF([Mold Temp High]=0,“----”,[Mold Temp High]) 现在,表达式对我来说是100%,但是当它自动填充字段时,例如Mold Temp High,对于以前的所有字段,我可以看到它们显示为记录源列字段,但是对于我

我最近接到了在access数据库中定制报告的任务,我已经多年没有接触access了,所以它对我来说有点生疏。我已成功地将字段添加到表中、添加到表单中以及添加到报表中。如果我运行报告,他们会正确查询。但报告上的所有其他字段都使用以下表达式进行设置:

=IIF([Mold Temp High]=0,“----”,[Mold Temp High])

现在,表达式对我来说是100%,但是当它自动填充字段时,例如Mold Temp High,对于以前的所有字段,我可以看到它们显示为记录源列字段,但是对于我添加的任何新字段,它们显示为文本框

如果我用新字段创建一个表达式,我会得到一个循环引用,它会在报告上显示#type,而不是值


只是想知道为什么新字段显示为文本框而不是记录源。

如果您稍微改变一下逻辑会怎么样

我们记得,IIF被构造为:

=IIF((Some_Table_Field or value),True-condition,False-condtion)
你可能会看到:

=IIF([Mold Temp High]=NULL,"----",[Mold Temp High])
或者,也许(使用ISNULL或ISBLANK,我也有一段时间没有访问):

或者,更确切地说:

=IIF([Mold Temp High]<1,"----",[Mold Temp High])

=IIF([模具温度高]我猜您正在从字段列表中拖动新字段。执行此操作时,它会创建与数据字段名称完全相同的文本框。因此,在表达式中使用此名称时,它会认为您引用了文本框对象。为防止此问题,请确保每次创建新文本框(或任何控件)时通过设置文本框的name属性,可以将其命名为不同的数据字段。通常我只添加“txt”在字段名的前面。这将确保您始终明确引用文本框名称或数据字段名。

感谢您的更新,这并不是关于我的表达式的更多内容,因为我知道它是正确的,而是关于它为什么提取文本框字段而不是记录源列的更多内容。但我非常感谢您的支持信息。我相信我已经尝试过拖到报表上并创建一个文本框,但我可能错了。我会检查一下。我想这是我期望记录源是一种方式的结果(使用名为“流程表报表查询”的查询)但是有一个定制的SQL select语句,这并没有影响我正在做的任何更改和你的建议。谢谢!这让我发疯了。
=IIF([Mold Temp High]<1,"----",[Mold Temp High])