Поля, не отображаемые для набора записей ADODB - PullRequest
0 голосов
/ 02 июня 2019

У меня есть набор записей 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

А затем в форме A:

Public Sub setrst(ByVal rst As ADODB.Recordset)
    Set Me.Recordset = rst
    Me.txtField.ControlSource = rst.Fields("ID").Name
End Sub

Поле ID в форме все еще пусто.Я надеюсь, что вы, ребята, можете помочь.

1 Ответ

0 голосов
/ 02 июня 2019

Прежде всего, я бы рекомендовал взглянуть на документацию ControlSource . Это свойство не подходит для заполнения текстового поля из набора записей.

И тогда я бы заменил Me.txtField.ControlSource = rst.Fields("ID").Name на Me.txtField.value = rst.Fields("ID").Name. Это, вероятно, то, что вы хотите.

Другая рекомендация - не использовать глобальный экземпляр по умолчанию пользовательской формы

Обновление : На основе комментария вам нужен список, если вы хотите отобразить все записи и следующую строку кода ListBox1.Column = rst.GetRows. Вы должны определить список с достаточным количеством столбцов.

...