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 将表单控件值替换为字符串

MS Access 报告中的格式问题 - 高度属性不会随 CanShink 和 CanGrow 属性而改变

如何在 MS-Access 的表单上显示 Web 浏览器控件中的表格字段内容?