我正在尝试在报表上以红色突出显示一个字段,并在报表上填充“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
您拥有的代码应该包含在 报表详细信息部分的On Format事件中。当您设置,时,它会一直保持这种状态,直到再次更改。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 务实地改变背景颜色。这应该适用于“连续表格”。