首页 > 解决方案 > 滚动时的 MS-ACCESS 条件格式

问题描述

我在使用条件格式的单个表单(主)中有一个连续的子表单(数据)。问题是,当我单击滚动条向下移动列表时,条件格式被删除,直到我取消单击滚动条。使用鼠标滚轮滚动列表非常有效。

我怀疑这是由于刷新或重新绘制本来由点击触发的格式?

我尝试使用Application.Echo False, 和Me.Repaint = False,但没有成功(尽管我什至不确定我需要将这些放在哪里)。

有人对这个有经验么?请注意,通过子表单 Data 显示的数据是静态的,这意味着用户无法更新此特定子表单中的字段(不确定这是否简化了任何事情)。

标签: ms-access

解决方案


在连续表单上,仅对视图内的记录执行条件格式设置。当新记录滚动到视图中时,在计算条件格式时会有短暂的延迟。当记录滚动到视图之外时,它们的条件格式将被丢弃。您应该会发现使用鼠标滚轮滚动在条件格式方面确实有一点延迟。

在某些情况下,一种解决方案是将条件格式构建到记录源中。例如,假设负值Balance应该以黄色背景显示,并且您希望能够快速滚动浏览所有记录以查找黄色记录。

我通过向记录源添加另一个字段来做到这一点:

IIf([Balance] < 0, String(30,ChrW(9608)), "") AS BalanceBG

然后将其绑定到文本颜色为黄色和字体为 Courier 的 TextBox。

9608 字符是一个实心块,一串它们紧紧地结合在一起,形成一个实心条。

将此 TextBox 置于 [Balance] 的 TextBox 之后,即使向上和向下拖动滚动条拇指,也会显示黄色背景。


推荐阅读