Доступ до наборів записів VBA - відкриття, підрахунок, цикл тощо

У цьому підручнику ми дізнаємось, як відкрити набір записів, порахувати кількість записів у наборі записів, прокрутити набір записів, додати запис, оновити запис, прочитати значення з запису та видалити запис.

Нижче наведено таблицю доступу під назвою ProductsT:

Відкриття набору записів

Спочатку нам потрібно встановити базу даних, яку ми збираємось використовувати, в даному випадку це відкрита база даних. Потім ми можемо використовувати метод CurrentDB.OpenRecordSet, щоб відкрити/створити наш набір записів.

Для того, щоб створити набір записів, який дозволить нам маніпулювати даними у таблиці під назвою ProductsT, ми б використали такий код:

1 CurrentDb.OpenRecordset ("ПродуктиT")

Підрахунок кількості записів за допомогою VBA

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

1 MsgBox CurrentDb.OpenRecordset ("ПродуктиT"). RecordCount

Цикл через RecordSet за допомогою VBA

Наступний код проходить через наш RecordSet:

1234567891011121314 Sub RecordSet_Loop ()Затемніть нашу базу даних як базу данихЗатемніть наш запис як набір записівВстановіть нашу базу даних = CurrentDbВстановіть нашRecordset = ourDatabase.OpenRecordset ("ПродуктиT")Робіть до нашої записиRecordset.EOFMsgBox нашRecordset! ProductIDнашRecordset.MoveNextПетляEnd Sub

Додавання запису до RecordSet

Використовуйте метод Recordset.AddNew, щоб додати новий запис до RecordSet:

1234567891011121314 Sub RecordSet_Add ()З CurrentDb.OpenRecordset ("ПродуктиT").Додати новий! [ProductID] = 8! [ProductName] = "HHH продукту"! [ProductPricePerUnit] = 10! [ProductCategory] = "Іграшки"! [UnitsInStock] = 15.ОновитиЗакінчити зEnd Sub

Результат такий:

Оновлення набору записів

Ви повинні використовувати метод Recordset.AddNew або Recordset.Edit. Після цього твердження ви повинні використовувати метод Recordset.Update, щоб зберегти зміни.

Зчитування значень із запису

Ви повинні використовувати метод Recordset.FindFirst, щоб створити запис, поточний запис. Потім вам потрібно скористатися Recordset.Fields, щоб вказати, на яке поле дивитися.

12345678910111213141516 Sub RecordSet_ReadValue ()Затемніть нашу базу даних як базу данихЗатемніть наш запис як набір записівВстановіть нашу базу даних = CurrentDbВстановіть нашRecordset = ourDatabase.OpenRecordset ("ProductsT", Тип: = RecordsetTypeEnum.dbOpenDynaset)За допомогою нашого запису.FindFirst "ProductName =" & "'CCC продукту" "Якщо .NoMatch ТодіMsgBox "Відповідність не знайдено"ІнакшеMsgBox ourRecordset.Fields ("ProductCategory")Закінчити ЯкщоЗакінчити зEnd Sub

Результат такий:

Видалення запису з набору записів

Щоб видалити запис із набору записів, спершу зробіть його поточним, використовуючи метод Recordset.FindFirst. Потім ви можете видалити його за допомогою методу Recordset.Delete. Наступний код показує, як видалити запис 2 у наборі даних:

1234567891011121314151617181920212223 Sub RecordSet_DeleteRecord ()Затемніть нашу базу даних як базу данихЗатемніть наш запис як набір записівВстановіть нашу базу даних = CurrentDbВстановіть нашRecordset = ourDatabase.OpenRecordset ("ProductsT", Тип: = RecordsetTypeEnum.dbOpenDynaset)За допомогою нашого запису.FindFirst "ProductName =" & "'Продукт BBB'"Якщо .NoMatch ТодіMsgBox "Відповідність не знайдено"ІнакшенашRecordset.DeleteЗакінчити ЯкщоЗакінчити з'Повторно відкрити стілDoCmd.Close acTable, "ProductsT"DoCmd.OpenTable "ПродуктиT"End Sub

Результат такий:

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

wave wave wave wave wave