Вот основной рецепт:
Dim db As Database
Dim rs As Recordset
Set db = CurrentDb
Set rs = db.OpenRecordset("SELECT * FROM myTable")
Знайте, что вы используете объекты доступа к данным Jet (DAO) с Access - Google, чтобы узнать подробности.
Выражение (rs.BOF and rs.EOF) = True
указывает тамстрок не было.
Используйте rs.MoveFirst
, rs.MoveNext
для перехода к первой и следующей строкам.Тест rs.EOF
после rs.MoveNext
;когда True
, последняя строка уже была обработана.
rs(FieldName)
возвращает значение столбца с именем FieldName (строковое выражение).
rs(1)
возвращает значение второго столбца.
Когда все будет готово, rs.Close
.
Невозможно передать доступ к RecordSet и отобразить его в виде таблицы.Вместо этого вам нужно будет создать объект QueryDef и использовать его для выполнения запроса и отображения таблицы результатов:
Dim qd As QueryDef
On Error Resume Next
CurrentDb.QueryDefs.Delete "temp"
On Error GoTo 0
Set qd = db.CreateQueryDef("temp", "SELECT * FROM myTable")
DoCmd.OpenQuery "temp", acViewNormal, acEdit