[英]Access VBA If statement to Change Back and Font color of a report field
当报表中填充了“ S”时,我试图在报表上以红色突出显示带有白色粗体字的字段。 这会使字段中的所有记录保持红色。 请帮忙!
Private Sub Report_Activate()
If Me![PULL STATUS] = "S" Then
Me![PULL STATUS].BackColor = vbRed
Me![PULL STATUS].FontBold = True
Me![PULL STATUS].ForeColor = vbWhite
End If
End Sub
您拥有的代码应包含在报告的“ 详细信息”部分的“ 格式化时”事件中。 设置BackColor
, FontBold
和ForeColor
它会一直保持这种状态,直到再次更改为止。
因此,您需要执行else语句来执行相反的操作(如果不正确)。 就像是:
Private Sub Detail_Format(Cancel As Integer, FormatCount As Integer)
If Me![PULL STATUS] = "S" Then
Me![PULL STATUS].BackColor = vbRed
Me![PULL STATUS].FontBold = True
Me![PULL STATUS].ForeColor = vbWhite
Else
Me![PULL STATUS].BackColor = vbWhite
Me![PULL STATUS].FontBold = False
Me![PULL STATUS].ForeColor = vbBlack
End If
End Sub
MS Access使用条件格式-与MS Excel非常相似; 我建议您这样做,而不要使用VBA实用地更改背景色。 这对于“连续表格”应该很好用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.