Що таке recordset

Recordset - клас VBA, що дає можливість з коду відкривати таблиці або запускати запити. За допомогою Recordset ми можемо управляти значеннями в полях таблиці (запиту), отримувати кількість рядків таблиці (або запиту), заповнювати програмно таблиці і багато іншого.

Для роботи з Recordset, якщо працюємо з таблицею оголошуємо:

Const AnotherDBpath = "C: \ Program Files \ Microsoft Office \ Office \ Samples"

Dim mydb As Database 'базу даних

Dim rst As Recordset 'таблицю бази даних

Set mydb = CurrentDb () 'вказуємо поточну базу даних або шлях до іншої БД

Set rst = mydb.OpenRecordset ( "TableName") 'відкриваємо таблицю, отримуємо Recordset з результатами

Для роботи з Recordset, якщо працюємо із запитом оголошуємо:

Const AnotherDBpath = "C: \ Program Files \ Microsoft Office \ Office \ Samples"

Dim mydb As Database 'базу даних

Dim qry As QueryDef 'запит бази даних

Dim rst As Recordset 'Recordset - клас, за допомогою якого будемо виконувати запит

Set mydb = CurrentDb () 'вказуємо поточну базу даних або шлях до іншої БД

Set qry = mydb.QueryDefs ( "QueryName") 'QueryName - ім'я запиту

'Якщо є параметри в запиті:

'ParameterName - назва параметра в запиті

'ParameterValue - значення параметра

'Якщо є динамічні критерії в запиті:

Set rst = qry.OpenRecordset 'виконуємо запит, отримуємо Recordset з результатами

If rst.EOF = False Then '= якщо в Recordset є записи

'EOF - End Of File

'BOF - Begin Of File

'EOF = True або BOF = False означає, що Recordset порожній (немає записів)

rst.MoveFirst 'перейти на перший запис рекордсета

rst.MoveLast 'перейти на останній запис рекордсета

rst.Add 'додати запис в рекордсете

rst! FieldName = 1 'заповнити поле рекордсета FieldName даними (= 1)

rst.Update 'оновити рекордсет

Схожі статті