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