我正在尝试在报表上突出显示一个字段,并在报表上填充“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
答案 0 :(得分:1)
您的代码应包含在报告的 详细信息 部分的 格式 事件中。当您设置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
答案 1 :(得分:0)
MS Access使用条件格式 - 很像MS Excel;我推荐这个,而不是使用VBA实际更改背景颜色。这应该适用于“连续表格”。'