使用条件控制源控制报表中的每条记录

Posted

技术标签:

【中文标题】使用条件控制源控制报表中的每条记录【英文标题】:Control with conditional controlsource for each record in a report 【发布时间】:2014-07-30 15:04:11 【问题描述】:

我的访问报告有问题。对不起,如果它看起来微不足道,但我在这里很新......

我想要一个控件在它为空时更改它的源。为了举例说明(使用问题的精简版本),我的报告基于显示字段“id”、“name”和“instution”的查询。如果“名称”字段为空白(空),则“机构”不是。

我希望报告中每一行的控件如果不为空则显示“name”,如果“name”为空则显示“institution”。

我基本上想要一个控件根据我的记录源中的字段值显示不同的信息。但是对于每一行。

我尝试使用“on current”事件来设置控制源或值,但它不会真正起作用,因为每当我单击特定记录时,它都会更改所有记录的值。

我基本上理解报告是连续表格,并找到了一些similar issues,但解决方案不适用于我的情况。

非常感谢您的回答,如果您需要更多信息,请告诉我!任何帮助表示赞赏。

【问题讨论】:

【参考方案1】:

使用查询和 IIf。

 SELECT Id, IIf(Trim([Name] & "") = "", [Institution], [Name]) FROM ATable

报告基于查询。

如果:http://office.microsoft.com/en-ie/access-help/iif-function-HA001228853.aspx

【讨论】:

非常感谢,有时候去某个地方的方法太多了,我发现自己迷失了方向!我编辑了你的帖子,因为它是“IIf”而不是“Iff” 只有一个关于你的代码的问题:你为什么还要修剪 "& """?这是为了防止某种特定情况吗?一个空字符串是“”,修剪与否还是我错了? null 不等于 "",但 null & "" 等于 "",因此您涵盖了 null、零长度字符串和空格填充字符串。

以上是关于使用条件控制源控制报表中的每条记录的主要内容,如果未能解决你的问题,请参考以下文章

Java流程控制

流程控制

Java基础(I)流程控制

Java学习笔记之:Java流程控制

在 ms 访问中将记录源分配给子报表

流程控制