2

我正在尝试在报表上以红色突出显示一个字段,并在报表上填充“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
4

2 回答 2

1

您拥有的代码应该包含在 报表详细信息部分的On Format事件中。当您设置,时,它会一直保持这种状态,直到再次更改。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
于 2013-11-07T16:50:06.743 回答
0

MS Access 使用条件格式 - 很像 MS Excel;我推荐这个而不是使用 VBA 务实地改变背景颜色。这应该适用于“连续表格”。

于 2014-03-12T17:42:08.733 回答