【发布时间】:2010-05-25 10:46:08
【问题描述】:
如何突出显示 MS-Access 列表框行?我正在使用 MS-Access 2007。我希望通过 VBA 突出显示多列列表框的第一行。
我试过Me.LstSample.Selected(0) = True,但它不起作用。
代码:
Private Sub LstStation_AfterUpdate()
With Me.LstSample
If IsNull(Me.LstStation) Then
.RowSource = ""
Else
.RowSource = _
"SELECT * FROM Samples WHERE S='" & Me.LstStation.Value & "'"
End If
Call .Requery
If Not IsNull(Me.LstStation) Then
Me.LstSample.Selected(0) = True
End If
End With
End Sub
【问题讨论】:
-
它应该可以工作。你把线放在哪里了,什么活动?您可以单步执行以查看事件是否触发?请注意,不要使用表单打开事件,因为控件尚未初始化。
-
我把它放在另一个列表框的更新后。如果用户在此(第一个)列表框中选择了一行,则在 AfterUpdate 事件代码中我重置第二个列表框的“RowSource”属性,执行“重新查询”,然后执行我提到的代码。
-
编辑您的帖子以包含更新后事件代码。您所描述的内容应该可以正常工作,所以我猜您遗漏了某些内容,或者您的代码中有一个小错误。
-
我想它不是“不是空的”。您是否尝试过注释掉 If 行?