我的条件非常长,约有3,000个字符。 Access只有大约十分之一的空间。
除了通过对话之外,是否还有其他方法可以在文本框上设置条件格式,或者我可以在VBA中执行此操作,如果是,如何?
我在打开报告时触发的一堆文本框上有条件格式。
答案 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