我只是尝试在MS-Access中从42个未绑定的表单中创建日历,并将它们用作无尽的条目列表。
现在,我想用记录集来填充不同类型的条目(组约会,Joe或Marry的条目等),并为这42种表单创建记录集。最后,所有这些条目都应具有特定的颜色,因此Joe将获得蓝色,并与红色结婚。
因此,首先我填写表单的记录集,然后运行,然后像下面这样扔它:
Dim objFormatConditionGroup As FormatCondition
Dim objFormatConditionJoe As FormatCondition
Dim objFormatConditionMarry As FormatCondition
Dim ctl As Control
With Me
Do While Not .Recordset.EOF
Set ctl = .Topic
Set objFormatConditionGroup = ctl.FormatConditions.Add(acExpression, , "'" & .Recordset.typ & "' = '1'")
objFormatConditionGroup.BackColor = enmColor.Red
objFormatConditionGroup.ForeColor = enmColor.White
Set objFormatConditionJoe = ctl.FormatConditions.Add(acExpression, , "'" & .Recordset.typ & "' = '2'")
objFormatConditionJoe.BackColor = enmColor.Blue
objFormatConditionJoe.ForeColor = enmColor.White
Set objFormatConditionMarry = ctl.FormatConditions.Add(acExpression, , "'" & .Recordset.typ & "' = '3")
objFormatConditionMarry.BackColor = enmColor.White
objFormatConditionMarry.ForeColor = enmColor.Black
.Recordset.MoveNext
Loop
End with
以某种方式工作,但是如果我在一个列表中有多个条目,则总会得到所有条目中最后使用的块的样式。像:如果有一个Groupappointment某天某事嫁给了某人(条目按recordset.Typ排序),则所有条目都出现在Marry-Styl中。
我猜想,FormatConditions的条件部分有问题,但我无法弄清楚。它喊叫一个字符串,“ 1 = 1”和“ 0 = 1”的工作方式类似于Expectet。但是,如何引用列表中仅一项的记录集?
或者如何更改控件。列表中仅一个条目的主题,而不是同一步中的所有条目?
答案 0 :(得分:0)
在FormatConditions中,您不能引用VBA变量或值。您需要引用记录源中的实际列。
例如
ctl.FormatConditions.Add(acExpression, , "[Typ] = '1'")
并且不要在记录集循环中执行此操作。一次添加每个FormatCondition。 (如您所愿,但没有循环。)