【发布时间】:2015-08-28 21:25:42
【问题描述】:
我在尝试有条件地格式化 MS Access 2007 表单内报告中的记录展示时遇到问题。
我已经在 Internet 上进行了搜索,并且我看到很多 os 研究员指出,可以通过为报告中的 Detail 部分的事件 Paint 实现 Detail_Paint() 方法的代码在单个记录中执行视觉更改。那些人说这样的事情会奏效:
Private Sub Detail_Paint()
val = CStr(Me.someTextBox.Value)
If val = "constraint" Then
Me.lineStrikethrough.BorderStyle = 0
End If
End Sub
问题是虽然读取语句Me.someTextBox.Value在Paint事件抛出时返回了每条记录的值,但是写入语句Me.lineStrikethrough.BorderStyle = 0 为我的报告中的每一行 写入属性 BorderStyle 的值,而不仅仅是针对我从 someTextBox 字段中读取其值的单个记录的记录。
谁能告诉我为什么会这样?如果这是正确的行为(尽管对我来说似乎不正确),我怎样才能实现我的目标? 注意:lineStrikethrough 用于对报表中的记录执行删除线效果。如果有其他方法可以做到这一点,我很乐意知道。
【问题讨论】:
-
什么是
num?我没有看到它在任何地方定义。 -
嗨@MarkC。这是一个错字。
num实际上是val。不过不用担心,我的代码运行版本是正确的。