Доступ к наборам записей VBA - открытие, подсчет, цикл и т. Д.

В этом руководстве мы узнаем, как открыть набор записей, подсчитать количество записей в наборе записей, пройти через набор записей, добавить запись, обновить запись, прочитать значение из записи и удалить запись.

У нас есть таблица доступа под названием ProductsT, показанная ниже:

Открытие набора записей

Сначала нам нужно создать базу данных, которую мы собираемся использовать, в данном случае это текущая открытая база данных. Затем мы можем использовать метод CurrentDB.OpenRecordSet, чтобы открыть / создать наш набор записей.

Чтобы создать набор записей, который позволит нам управлять данными в таблице под названием ProductsT, мы должны использовать следующий код:

1 CurrentDb.OpenRecordset ("ProductsT")

Подсчет количества записей с использованием VBA

После того, как вы создали набор записей, вы, скорее всего, захотите сделать с ним что-нибудь полезное или каким-то образом манипулировать данными в нем. Вы можете подсчитать количество записей в вашем наборе данных (в данном случае таблица с именем ProductsT), используя следующий код:

1 MsgBox CurrentDb.OpenRecordset ("ProductsT"). RecordCount

Цикл через RecordSet с использованием VBA

Следующий код проходит через наш RecordSet:

1234567891011121314 Sub RecordSet_Loop ()Уменьшить размер нашей базы данных как базы данныхУменьшите размер нашего набора записей как набора записейУстановите ourDatabase = CurrentDbУстановите ourRecordset = ourDatabase.OpenRecordset ("ProductsT")Делаем до нашегоRecordset.EOFMsgBox ourRecordset! ProductIDourRecordset.MoveNextПетляКонец подписки

Добавление записи в RecordSet

Используйте метод Recordset.AddNew, чтобы добавить новую запись в RecordSet:

1234567891011121314 Sub RecordSet_Add ()С CurrentDb.OpenRecordset ("ProductsT").Добавить новое! [ProductID] = 8! [ProductName] = "Продукт ЧЧЧ"! [ProductPricePerUnit] = 10! [ProductCategory] = "Игрушки"! [UnitsInStock] = 15.ОбновлятьКонец сКонец подписки

Результат:

Обновление набора записей

Вы должны использовать метод Recordset.AddNew или Recordset.Edit. После этого оператора вы должны использовать метод Recordset.Update, чтобы сохранить изменения.

Чтение значений из записи

Вы должны использовать метод Recordset.FindFirst, чтобы сделать запись текущей. Затем вы должны использовать Recordset.Fields, чтобы указать, какое поле смотреть.

12345678910111213141516 Sub RecordSet_ReadValue ()Уменьшить размер нашей базы данных как базы данныхУменьшите размер нашего набора записей как набора записейУстановите ourDatabase = CurrentDbУстановите ourRecordset = ourDatabase.OpenRecordset ("ProductsT", тип: = RecordsetTypeEnum.dbOpenDynaset)С нашим набором записей.FindFirst "ProductName =" & "'Product CCC'"Если .NoMatch, тоMsgBox «Совпадений не найдено»ЕщеMsgBox ourRecordset.Fields ("ProductCategory")Конец, еслиКонец сКонец подписки

Результат:

Удаление записи из набора записей

Чтобы удалить запись из набора записей, вы должны сначала сделать ее текущей записью с помощью метода Recordset.FindFirst. Затем вы можете удалить его с помощью метода Recordset.Delete. Следующий код показывает, как удалить запись 2 в наборе данных:

1234567891011121314151617181920212223 Sub RecordSet_DeleteRecord ()Уменьшить размер нашей базы данных как базы данныхУменьшите размер нашего набора записей как набора записейУстановите ourDatabase = CurrentDbУстановите ourRecordset = ourDatabase.OpenRecordset ("ProductsT", тип: = RecordsetTypeEnum.dbOpenDynaset)С нашим набором записей.FindFirst "ProductName =" & "'Product BBB'"Если .NoMatch, тоMsgBox «Совпадений не найдено»ЕщеourRecordset.DeleteКонец, еслиКонец с'Снова открыть столDoCmd.Close acTable, "ProductsT"DoCmd.OpenTable "ProductsT"Конец подписки

Результат:

Вы поможете развитию сайта, поделившись страницей с друзьями

wave wave wave wave wave