Microsoft Access 2013记录源列

时间:2015-09-17 21:27:04

标签: ms-office ms-access-2013

我最近的任务是在访问数据库中自定义一个报告,我几年没有触及访问权限,所以它对我来说有点生疏。我已成功将Fields添加到表中,将它们添加到表单并将其添加到报表中。如果我运行报告,他们会正确查询。但报告中的所有其他字段都使用如下表达式进行设置:

= IIF([模具温度高] = 0,“----”,[模具温度高])

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

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

只是好奇为什么新字段显示为TextBox而不是Record Sources。

2 个答案:

答案 0 :(得分:0)

如果你稍微改变你的逻辑怎么办?

我们记得,IIF的构建如下:

=IIF((Some_Table_Field or value),True-condition,False-condtion)

你可能会看:

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

或者,也许(使用ISNULL或ISBLANK,对我来说也是一段时间):

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

或者,而不是:

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

希望这是有道理的。

答案 1 :(得分:0)

我猜你正在从字段列表中拖动新字段。执行此操作时,它将创建与数据字段完全相同的文本框。因此,当您在表达式中使用此名称时,它会认为您正在引用文本框对象。要防止出现此问题,请确保每次从数据字段创建新文本框(或任何控件)时,通过设置文本框的“名称”属性将其命名为不同的文本框。通常我只是添加&#34; txt&#34;到了字段名称的前面。这将确保您始终明确引用文本框名称或数据字段名称。