Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ms access 如何突出显示MS Access列表框行?_Ms Access_Ms Access 2007 - Fatal编程技术网

Ms access 如何突出显示MS Access列表框行?

Ms access 如何突出显示MS Access列表框行?,ms-access,ms-access-2007,Ms Access,Ms Access 2007,如何突出显示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 =

如何突出显示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
试着换个颜色

Me.LstSample.Selected(0) = True

我不确定为什么原始代码不起作用,但我倾向于使用ListIndex属性而不是Selected属性。

尝试更改

Me.LstSample.Selected(0) = True


我不确定为什么原始代码不起作用,但我倾向于使用ListIndex属性而不是Selected属性。

我完全剥离了代码并重置了控件的属性,现在它工作正常了


我正在弄清楚区别是什么,并会让大家都知道。

我完全剥离了代码并重置了控件的属性,现在它工作正常了


我正在找出区别所在,并会让大家知道。

我总是设置列表框的值:

  Me!lstMyListBox = Me!lstMyListBox.ItemData(0)

我总是设置列表框的值:

  Me!lstMyListBox = Me!lstMyListBox.ItemData(0)

它应该会起作用。你把线放在哪里了,什么项目?你能分步看一下事件是否触发吗?请注意,不要使用form Open事件,因为控件尚未初始化。我将它放在另一个列表框的AfterUpdate中。如果用户在此(第一个)列表框中选择了一行,则在AfterUpdate事件代码中,我将重置第二个列表框的“RowSource”属性,执行“重新查询”,然后执行我提到的代码。编辑帖子以包含AfterUpdate事件代码。您所描述的应该可以正常工作,所以我猜您遗漏了一些内容,或者代码中有一个小错误。我可以想象它不是“notisnull”。你试过注释If行吗?应该可以。你把线放在哪里了,什么项目?你能分步看一下事件是否触发吗?请注意,不要使用form Open事件,因为控件尚未初始化。我将它放在另一个列表框的AfterUpdate中。如果用户在此(第一个)列表框中选择了一行,则在AfterUpdate事件代码中,我将重置第二个列表框的“RowSource”属性,执行“重新查询”,然后执行我提到的代码。编辑帖子以包含AfterUpdate事件代码。您所描述的应该可以正常工作,所以我猜您遗漏了一些内容,或者代码中有一个小错误。我可以想象它不是“notisnull”。你试过注释If行吗?我终于找到了。因为我将ColumnHeads属性设置为True,所以第一行包含标题,所以为了突出显示第一行(数据),我必须使用LstSample.Selected(1)=True而不是LstSample.Selected(0)=True,我终于找到了它。因为我将ColumnHeads属性设置为True,所以第一行包含标题,所以为了突出显示第一行(数据),我必须使用LstSample.Selected(1)=True而不是LstSample.Selected(0)=True