字段未显示为ADODB记录集

时间:2019-06-02 14:59:48

标签: sql vba ms-access 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字段仍然为空。我希望你们能提供帮助。

1 个答案:

答案 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,则基于注释,需要一个列表框。您应该定义具有足够列的列表框。