簡體   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