如何在条件格式中适应非常长的条件
Posted
技术标签:
【中文标题】如何在条件格式中适应非常长的条件【英文标题】:How to fit VERY long condition in conditional formatting 【发布时间】:2011-03-12 21:24:59 【问题描述】:我的条件很长,大约 3,000 个字符。访问只有大约十分之一的空间。
除了通过对话框之外,还有其他方法可以在文本框上设置条件格式吗?或者我可以在 VBA 中进行设置吗?如果可以,如何?
我在打开报表时触发的一堆文本框上有条件格式。
【问题讨论】:
【参考方案1】:我不知道这是否是您所追求的,因为您提到只有一个小框可以输入所有条件文本。其他人向您展示了 VBA 解决方案 - 因为您问这是否是实现它的一种方法。
我一直使用可通过 SHIFT-F2 按键访问的“缩放”功能。那是你所追求的吗?我认为它也可以追溯到几个 Access 版本。
这里有一组不错的 Access 快捷键: http://www.joyedaniels.com/keys_access.htm
【讨论】:
【参考方案2】:想知道 VBA 方法是否有效?
另一个想法:在表单上创建一个隐藏字段并根据您的 3000 个字符条件设置它的值。如果你只是想有 1 个条件表达式,你可以给这个隐藏字段一个 false/true 或 0/1 值;如果你想要多个条件,你可以给它一个与你想要应用的条件相对应的值 0、1、2 或 3。无论哪种情况,您的条件表达式测试现在都很简单:[HiddenFieldName]=ConditionValue
【讨论】:
【参考方案3】:是的,您可以在 VBA 中操作格式条件。在http://support.microsoft.com/kb/304104 有一篇完整详细的知识库文章。
这里的代码 sn-p 显示了一个基本示例。参考以上链接获取AddFormats
的VBA:
Public Function HighLightForeignKeys(argFieldName As String, argFieldValue As Integer)
Dim FormatCondition As String
Dim CodeReception As Integer
FormatCondition = "[" & argFieldName & "] = " & ArgFieldValue
With Me.ID
.FormatConditions.Delete
.FormatConditions.Add acExpression, , FormatCondition
.FormatConditions(0).BackColor = 16510422
AddFormats Me.ID, Me
End With
End Function
【讨论】:
【参考方案4】:根据 Access 的帮助主题,FormatConditions 集合具有方法(添加、删除、修改),它们应该允许您使用 VBA 代码调整 FormatConditions。我从未尝试过,因此对于这是否对您来说是一种实用的方法,我不提供任何意见。
我还试图找出 FormatConditions 可以接受的字符数是否有容量限制。我没有找到任何东西。
【讨论】:
以上是关于如何在条件格式中适应非常长的条件的主要内容,如果未能解决你的问题,请参考以下文章