【发布时间】:2018-01-15 03:26:03
【问题描述】:
我创建了一个组合框,数据将从 SQL Server 填充,但我发现此组合框的自动填充功能不起作用。我的代码有什么问题吗?谢谢。
Dim oCon As ADODB.Connection
Dim oRec As ADODB.Recordset
Dim strQuery As String
Set oCon = New ADODB.Connection
Set oRec = New ADODB.Recordset
oCon.Open "connection string"
strQuery = "select statement"
oRec.Open strQuery, oCon, adOpenKeyset, adLockOptimistic
Me.cbxUser.RowSourceType = "Table/Query"
Set Me.cbxUser.Recordset = oRec
2018 年 1 月 16 日更新
看来问题是通过使用ComboBox.AddItem 方法解决的。但是不知道为什么我使用Set Me.cbxUser.Recordset = oRec时自动填充功能不起作用
Set oRec = oCon.Execute(strQuery)
Me.cbxUser.RowSourceType = "Value List"
Do While Not oRec.EOF
Me.cbxUser.AddItem (oRec("UserID"))
oRec.MoveNext
Loop
【问题讨论】:
-
那张截图并没有说太多。我不知道你期待在那里看到什么
-
Combobox
Auto Expand属性是Yes? -
以前从未见过组合框 Recordset 属性。可以只使用 strQuery 设置 RowSource 属性,而不是打开记录集对象。
-
嗨@June7,我也尝试过使用
RowSource,但收到此错误消息:此表单或报告中指定的记录源“选择语句”不存在。 -
嗨@SergeyS。我已经将此属性设置为“是”