MS Access,嵌套在表单中的格式化子报表
Posted
技术标签:
【中文标题】MS Access,嵌套在表单中的格式化子报表【英文标题】:MS Access, Formatted Subreport nested in Form 【发布时间】:2018-10-15 13:14:21 【问题描述】:我在 MS Access 中有一个消息线程的报告。它在 VBA 中使用 Detail_Format 进行格式化,以便在打印预览视图中发送的消息显示为右对齐,接收的消息左对齐。 所有消息都存储在同一个表中。
我需要此消息线程以可以添加和查看额外信息的形式出现。 在这种形式中,报告显示时没有格式化,也没有任何明确的格式化方式。
我尝试过使用子表单,但无法为单个记录设置对齐格式等。
有什么建议吗?
【问题讨论】:
我尝试使用子表单导致所有消息对齐一侧或另一侧,条件格式似乎仅限于字体、颜色等 【参考方案1】:作为子表单/子报表安装在表单上的报表只能在 ReportView 中显示。格式事件仅在 PrintPreview 中触发或直接发送到打印机。
有两个并排的文本框。每个文本框中的表达式根据是否发送或接收消息显示数据。
=IIf([Type]="sent", [Message], Null)
=IIf([Type]="received", [Message], Null)
使用条件格式设置颜色和字体。
不需要 VBA,可以在报告或打印视图中工作。
【讨论】:
当表单基于具有该概念的查询时,此方法有效 - 在表单本身中,文本框有 #error。完全相同的表达式在查询中运行良好! 您的意思是report
基于查询吗?表达式中使用的字段可能首先必须在另一个文本框中作为 ControlSource 引用。这是一个奇怪的报告而不是形式。但在查询中计算完全合理。以上是关于MS Access,嵌套在表单中的格式化子报表的主要内容,如果未能解决你的问题,请参考以下文章
在MS Access中使用格式函数中的变量时,数字的格式不正确。
确定子表单/子报表是不是在 MS Access 中加载了表单或报表
MS.Access - 在 DoCmd.OpenReport [where 条件] 中使用 2 个过滤条件从表单打印报表
在 MS Access 中使用 RegEx 将表单控件值替换为字符串