Лично я использую следующий код для отображения наборов записей.
Как и ответ Даррена, я создал форму, которую я назвал frmDynDS, с представлением по умолчанию, настроенным на представление таблицы данных, и ядобавил к нему 255 элементов управления, используя следующий код (запустите, пока форма находится в режиме конструктора):
Dim i As Long
Dim myCtl As Control
For i = 0 To 254
Set myCtl = Application.CreateControl("frmDynDS", acTextBox, acDetail)
myCtl.Name = "Text" & i
Next i
Затем я добавил следующий код в модуль формы:
Public Myself As Object
Public Sub LoadRS(myRS As Object)
'Supports both ADODB and DAO recordsets
Dim i As Long
Dim myTextbox As textbox
Dim fld As Object
i = 0
With myRS
For Each fld In myRS.Fields
Set myTextbox = Me.Controls("Text" & i)
myTextbox.Properties("DatasheetCaption").Value = fld.Name
myTextbox.ControlSource = fld.Name
myTextbox.ColumnHidden = False
myTextbox.columnWidth = -2
i = i + 1
Next fld
End With
For i = i To 254
Set myTextbox = Me.Controls("Text" & i)
myTextbox.ColumnHidden = True
Next i
Set Me.Recordset = myRS
End Sub
Private Sub Form_Unload(Cancel As Integer)
Set Myself = Nothing 'Prevent memory leak
End Sub
Затем у меня есть следующий код в общедоступном модуле: "
Public Sub DisplayRS(rs As Object)
Dim f As New Form_frmDynDS
f.LoadRS rs
f.Visible = True
Set f.Myself = f
End Sub
После того, как вы все это настроите, отобразить наборы записей очень просто. Просто сделайте следующее:
DisplayRS CurrentDb.OpenRecordset("SELECT * FROM EXPORT_CERTIFICATION WHERE EXPORT_CERTIFICATION.CertificationStatus = 'Certified'")
Это откроет форму, отобразит соответствующее количество элементов управления, задает заголовок, отрегулирует ширину ячейки, чтобы разместить заголовок, а затем привяжет элементы управления к набору записей. Форма будет сохраняться до тех пор, пока не будет закрыта, и вы можетеоткрыть несколько наборов записей одновременно с этим кодом.
Обратите внимание, что вы не можете использовать параметры в наборе записей при запуске этого кода, так как это приведет к сбою при фильтрации / сортировке.