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