繁体   English   中英

访问VBA If语句以更改报表字段的“返回”和“字体”颜色

[英]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

您拥有的代码应包含在报告的“ 详细信息”部分的“ 格式化时”事件中。 设置BackColorFontBoldForeColor它会一直保持这种状态,直到再次更改为止。

因此,您需要执行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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM