Описание
Принимает следующий набор записей, если он имеется, создаваемый запросом на выборку с выводом по частям, при вызове метода OpenRecordset, и возвращает значение типа Boolean, указывающее, ожидается ли поступление одной или нескольких новых записей (только в рабочей области ODBCDirect).
Set переменная = наборЗаписей.NextRecordset
Параметры
переменная
Переменная типа Boolean. Значение True указывает, что в объекте наборЗаписей имеется следующий доступный набор записей; значение False указывает, что поступления записей не ожидается и наборЗаписей является пустым.
наборЗаписей
Переменная, представляющая существующий объект Recordset, в котором ожидается возвращение записей.
Замечания
В рабочей области ODBCDirect пользователь имеет возможность открыть объект Recordset, с указанием более одного запроса на выборку в аргументе source метода OpenRecordset или в свойстве SQL объекта QueryDef, представляющего запрос на выборку, как показано в следующем примере.
SELECT Фамилия, Имя FROM Клиенты WHERE Фамилия = 'Иванов'; SELECT Марка, Цена FROM Товары WHERE КодТовара = 9999
В открытом объекте Recordset будут выведены результаты первого запроса. Чтобы вывести второй результирующий набор записей, следует вызвать метод NextRecordset.
Если имеется доступный дополнительный набор записей (т.е. в методе OpenRecordset или в свойстве SQL указан еще один запрос), то записи, возвращенные в следующем запросе, будут загружены в объект Recordset, а свойство NextRecordset получит значение True, указывающее, что имеется дополнительный набор записей. Если доступных дополнительных записей нет (т.е. в объект Recordset были загружены записи из последнего запроса), в свойстве NextRecordset возвращается значение False, а объект Recordset становится пустым.
Допускается также использование Cancel для сброса всего содержимого объекта Recordset. Однако при вызове метода Cancel будут сброшены также еще не загруженные записи.
Пример
Следующая программа использует метод NextRecordset для просмотра данных составного запроса SELECT. При выполнении таких запросов свойство DefaultCursorDriver должно получить значение dbUseODBCCursor. Метод NextRecordset возвращает значение True, даже если некоторые или все инструкции SELECT не возвращают записей. Значение False будет возвращено только после всех предложений инструкции SQL.
Sub NextRecordsetX() Dim wrkODBC As Workspace Dim conPubs As Connection Dim rstTemp As Recordset Dim intCount As Integer Dim booNext As Boolean ' Создает объект Workspace ODBCDirect и открывает объект ' Connection. При использовании составных инструкций SQL ' значение DefaultCursorDriver является обязательным. Set wrkODBC = CreateWorkspace("", "admin", "", dbUseODBC) wrkODBC.DefaultCursorDriver = dbUseODBCCursor Set conPubs = wrkODBC.OpenConnection("Publishers", , , "ODBC;DATABASE=pubs;UID=sa;PWD=;DSN=Publishers") ' Создает составную инструкцию SELECT. Set rstTemp = conPubs.OpenRecordset("SELECT * " & "FROM authors; " & _ "SELECT * FROM stores; " & "SELECT * FROM jobs") ' Делает попытку напечатать результаты каждой из трех ' инструкций SELECT. booNext = True intCount = 1 With rstTemp Do While booNext Debug.Print "Содержимое набора записей #" & intCount Do While Not .EOF Debug.Print , .Fields(0), .Fields(1) .MoveNext Loop booNext = .NextRecordset Debug.Print " rstTemp.NextRecordset = " & booNext intCount = intCount + 1 Loop End With rstTemp.Close conPubs.Close wrkODBC.Close End Sub