如何在条件格式中适应非常长的条件

时间:2010-07-07 15:23:27

标签: vba ms-access formatting conditional

我的条件非常长,约有3,000个字符。 Access只有大约十分之一的空间。

除了通过对话之外,是否还有其他方法可以在文本框上设置条件格式,或者我可以在VBA中执行此操作,如果是,如何?

我在打开报告时触发的一堆文本框上有条件格式。

4 个答案:

答案 0 :(得分:1)

根据Access的帮助主题,FormatConditions Collection具有允许您使用VBA代码调整FormatConditions的方法(添加,删除,修改)。我从来没有尝试过,所以对于这对你来说这是不是一个实用的方法没有任何意见。

我还试图找出FormatConditions可以接受的字符数量是否有容量限制。我在那里找不到任何东西。

答案 1 :(得分:1)

是的,您可以在VBA中操作格式条件。在http://support.microsoft.com/kb/304104上有一篇完整详细的文章知识库文章。

此处的代码段显示了一个基本示例。请参阅上面的链接以获取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 

答案 2 :(得分:1)

很想知道VBA方法是否有效?

另一个想法:在表单上创建一个隐藏字段,并根据您的3000字符条件设置它的值。如果您只是尝试使用1个条件表达式,则可以将此隐藏字段设为false / true或0/1值;如果你想要多个条件,你可以给它一个与你想要应用的条件相对应的值0,1,2或3。在任何一种情况下,您的条件表达式测试现在都是微不足道的:[HiddenFieldName] = ConditionValue

答案 3 :(得分:1)

我不知道这是不是你所追求的,因为你提到只有一个小盒子可以输入你的所有条件文本。其他人向您展示了VBA解决方案 - 因为您询问这是否是实现它的一种方式。

我一直使用“缩放”功能,可以通过SHIFT-F2按键访问。这就是你追求的吗?我认为它也可以追溯到几个Access版本。

这里有一组很好的Access快捷键击: http://www.joyedaniels.com/keys_access.htm