首页 > 解决方案 > 未显示 ADODB 记录集的字段

问题描述

我有一个从模块传递到表单的 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字段仍为空。我希望你们能提供帮助。

标签: sqlvbams-accessadodb

解决方案


首先,我建议您查看ControlSource的文档。此属性不是从记录集中填充文本框的正确属性。

然后我会替换Me.txtField.ControlSource = rst.Fields("ID").NameMe.txtField.value = rst.Fields("ID").Name. 这可能是你想要的。

另一个建议是不要使用用户表单的全局默认实例

更新:根据评论,如果您想显示所有记录和以下代码行,您需要一个列表框ListBox1.Column = rst.GetRows。您应该定义具有足够列的列表框。


推荐阅读