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 'оновити рекордсет