我想使用 VBA 代码以不同的背景颜色显示 MS Access 报告的前三个记录。
我尝试在详细事件中进行编码,但随后整个部分以另一种颜色显示。
这适用于打印预览:
SUB DETAIL_FORMAT
IF (condition) THEN
DETAIL.BACKCOLOR = ...
ELSE
DETAIL.BACKCOLOR = ...
END IF
END SUB
这适用于报告视图:
SUB DETAIL_PAINT
IF (condition) THEN
DETAIL.BACKCOLOR = ...
ELSE
DETAIL.BACKCOLOR = ...
END IF
END SUB
试试这个:
在 Detail 部分放置一个名为 tbxCnt 的文本框,ControlSource 为 =1,RunningSum 设置为 OverAll(可以设置为不可见)。代码选项:
每个文本框的条件格式规则
Expression is: [tbxCnt]<4
VBA 可以测试 tbxCnt 的值以设置详细信息部分背景色:
If Me.tbxCnt < 4 Then Me.Detail.Backcolor = vbYellow Else: Me.Detail.Backcolor = vbWhite
Me.Detail.Backcolor = IIf(Me.tbxCnt < 4, vbYellow, vbWhite)
确保AlternateBackColor 设置为NoColor。