我有一个ADODB记录集,它是从模块传递给表单的。我需要显示记录集的现有字段,但是它似乎不起作用。记录集已成功传递,如快速Debug.Print
所示。这是我的代码:
模块:
Public Sub dofilter()
...
With ADORec
Set .ActiveConnection = ADOConn
.Source = SQL
.LockType = adLockReadOnly
.CursorType = adOpenKeyset
.CursorLocation = adUseClient
.Open
End With
Call Form_FormA.setrst(ADORec)
End Sub
然后在FormA中:
Public Sub setrst(ByVal rst As ADODB.Recordset)
Set Me.Recordset = rst
Me.txtField.ControlSource = rst.Fields("ID").Name
End Sub
表单中的ID
字段仍然为空。我希望你们能提供帮助。
答案 0 :(得分:0)
首先,我建议您查看ControlSource的文档。此属性不是从记录集填充文本框的正确方法。
然后我将Me.txtField.ControlSource = rst.Fields("ID").Name
替换为Me.txtField.value = rst.Fields("ID").Name
。这很可能就是您想要的。
另一建议是不要使用global default instance of a userform
更新:如果要显示所有记录和下面的代码行ListBox1.Column = rst.GetRows
,则基于注释,需要一个列表框。您应该定义具有足够列的列表框。