我尝试通过以下方式预先选择组合框项目中的第一项:
Private Sub Form_Load()
Me.ProjectBox = Me.ProjectBox.ItemData(0)
End Sub
但它表示ItemData(0)为空。我认为这是因为它正在查询(行源属性)填充组合框之前运行。填充组合框后,有没有办法运行它
答案 0 :(得分:1)
原始代码应该可以正常工作...
Private Sub Form_Load()
Me.ProjectBox = Me.ProjectBox.ItemData(0)
End Sub
如果在设计器的“属性表”中正确设置了ComboBox属性,例如:
RowSource = {query}
ColumnCount = 2
BoundColumn = 1
ColumnWidths = 0";1"
特别注意 BoundColumn = 1 。
请参见online docs for BoundColumn。 BoundColumn = 0
具有特殊含义,即ComboBox的值成为列表索引值(0、1、2 ...),而不是RowSource列的值。请注意,ComboBox.Column(index, row)
等其他属性的索引值基于0,而第一行行列的ComboBox.BoundColumn
从1开始……令人沮丧的不一致之处。
答案 1 :(得分:0)
您可以重新查询组合框。这将暂停代码直到完成:
Private Sub Form_Load()
Me.ProjectBox.Requery
Me.ProjectBox = Me.ProjectBox.ItemData(0)
End Sub