ACCESS中的组合框combo控件使用的一个细节

我们在窗体上放置一个combo控件,然后在它的属性面板上,数据标签中的行来源处指定了一个查询“在职教师名单”,保存并运行窗体后,点开combo,看到了有查询出来的教师名单。但我们注意到,窗体打开时,这个combo控件中显示的是空白。必须要点下拉按钮后再选中一个教师的名字,该教师的名称才出现在combo控件中。
这并不是我们所希望我。我们希望在窗体打开的时候,这个combo就默认显示教师名单中的第一个名字。
查看combo控件的属性面板的数据标签中,有“默认值”这一属性。但这一属性并不能直接帮上忙。因为教师名单可能是变动的。而这里的“默认值”只能填入一个固定值。
于是想到了用listindex属性,这个属性可以指定combo控件中的选中记录的行数。取值范围从0至记录数减1。于是在窗体的“成为当前”事件中,写下如下代码:

Private Sub Form_Current()
  Combo_teacherlist.ListIndex = 0
End Sub

保存并运行数据库时,显示“错误使用listindex属性”。难道是listindex不能被直接赋值?不该啊,微软帮助上说这个属性是可读写的啊。
后来发现,在对listindex进行赋值时,必须要先给combo以焦点。加上一行代码,改下下面这样的:

Private Sub Form_Current()
  Combo0_teacherlist.SetFocus
  Combo0_teacherlist.ListIndex = 0
End Sub

窗体启动时,combo正确的显示了第一行记录。
细节决定成败啊。

你可能感兴趣的:(ACCESS,数据库)