访问报告 - 根据数据隐藏字段,标签和其他元素

时间:2009-08-19 21:16:25

标签: ms-access properties formatting report conditional

我一直在尝试格式化报告,为潜在供应商提供列表,其中显示了设备的型号,序列号,范围,资产编号和校准频率。该概念的基础是,该提案如果被接受,将在以后成为采购订单 - 因此提供诸如如果要在内部进行工作等领域,以及提案何时创建,何时我们建议发送物品出来,最后,如果有一个有效的采购订单号已经分配给整个烂摊子。

我一直在尝试根据基础查询中的“是/否”复选框的值是True还是False来更改值。但是,我无法在报告中使用任何标准属性更改 - 它不会抛出错误,它什么都不做。我已尝试将我的代码插入On Format事件,以及相应表单上的On Load事件 - 但代码将无法运行。

这些基于底层查询字段值的属性操作是否不像报表那样对报表起作用?

4 个答案:

答案 0 :(得分:4)

创建一个未绑定的文本框,在Control Source属性中输入如下公式:

=IIF([BooleanField],"Value if True","Value if false")

答案 1 :(得分:1)

我认为最好在查询中分配值,而不是报告。

一些示例代码:

Private Sub Detail_Print(Cancel As Integer, PrintCount As Integer)
If Me.YN Then
    ''Label in the detail section
    Me.Label_YN.Visible = False
    ''Unbound field
    Me.txtField1 = "abc"
Else
    Me.Label_YN.Visible = True
    Me.txtField1 = "def"
End If
End Sub

答案 2 :(得分:0)

格式化报表时,您可能希望将代码放在“onPrint”事件中。当“打印”到您的屏幕时会触发它。

答案 3 :(得分:0)

这有点超出了您的具体问题,但从报告设计的角度来看可能是一种有用的替代方法。

您可能希望将“内部”数据放入链接到主报表的单独子报表中(例如,在主工单号上)。子报告的数据来自一个新表,其中包含内部数据,包括主工单号。然后,使用主工单号将主表数据连接到新表。

如果主报告没有链接到子报告,则应该没有显示的数据(不应该有任何代码)。根据需要,如果要为空子报告关闭空白区域,可以将主报告详细信息和子报告“可缩小”属性设置为“是”。

这种方法的优点是新表可以为给定的主工单号提供多条记录,比如说不同的执行部门。此外,子报告设计可以单独修改,而不会影响主报告(除了大小)。