在 MSAccess 表单中,使用连续表单,如何通过数据分组获取交替行颜色?

在 MSAccess 表单中,使用连续表单,如何通过数据分组获取交替行颜色?

当我在 MSAccess 表单中使用连续表单时,它会自动将备用行颜色应用于每隔一行。
我希望为数据行组设置备用行颜色。
有些组可能只有一行,但其他组则有多个。
我在表单中确实有一列,其中包含一个整数,该整数随每个组递增。

有没有办法让 Access 识别表单中的分组,然后在那里应用交替行颜色而不是简单地每隔一行应用?

答案1

Access 无法在 UI 中识别表单中的分组。(但在报告中可以)

但是,即使没有 UI“分组”,详细信息部分中也有一个事件可以提供适当的格式化挂钩。

在此处输入图片描述

由于组有一个整数索引,并且我们想按组交替,因此只需检查偶数/奇数组并设置背景颜色就很容易了。
我们需要强制“Backcolor”和“AlternateBackColor”。因此,假设组索引放在名为 IndexColumnBox 的文本框中,它可以是...

Private Sub Detail_Paint()

    If Me.IndexColumnBox.Value Mod 2 = 0 Then
        Detail.BackColor = &HDDDDDD
        Detail.AlternateBackColor = &HDDDDDD

    Else
        Detail.BackColor = &HFFFFFF
        Detail.AlternateBackColor = &HFFFFFF

    End If

End Sub

(请注意,事件是屏幕绘制,而不仅仅是生成一次连续表单。因此,在滚动和使用表单时,每行都会调用此事件任意次。这意味着关键是要有像索引列检查这样始终相同的内容。)

相关内容