这适用于在表单上使用VB的Access 2007。当所有3个文本框都是绿色时,我正在尝试运行一些代码,如果它们不是绿色,则会出现一个消息框,要求在导出之前更正错误。有没有更好的方法来评估3个条件?要读取颜色值我应该使用Me.Text1.Value = vbgreen吗?
感谢您的帮助
If Me.Text1 = "vbgreen" And Me.Text3 = "vbgreen" and Me.Text5 = "vbgreen" Then
Call RunExpZip
Else
msg = MsgBox("Please correct errors before exporting", vbCritical)
End If
答案 0 :(得分:2)
除非文本框中的文本实际上是单词“vbgreen”,否则您需要检查文本框的BackColor
属性。 (或ForeColor
如果是文本颜色,而不是背景。)
此值不会评估为vbGreen
(65280);标准绿色的值为5026082:
If Me.Text1.BackColor = 5026082 Then
'etc.
但是,据推测,颜色是使用条件格式设置的。在这种情况下,(在我看来)检查条件(会使它们变为绿色)而不是检查颜色本身会更好。 (颜色的微小变化意味着不能满足if条件。)