为 MS Access 报告的前三个记录提供不同的背景颜色

问题描述 投票:0回答:2

我想使用 VBA 代码以不同的背景颜色显示 MS Access 报告的前三个记录。

我尝试在详细事件中进行编码,但随后整个部分以另一种颜色显示。

ms-access report vba7
2个回答
1
投票

这适用于打印预览:

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

1
投票

试试这个:

在 Detail 部分放置一个名为 tbxCnt 的文本框,ControlSource 为 =1,RunningSum 设置为 OverAll(可以设置为不可见)。代码选项:

  1. 每个文本框的条件格式规则

    Expression is: [tbxCnt]<4

  2. 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。

© www.soinside.com 2019 - 2024. All rights reserved.