Описание
Принимает следующий набор записей, если он имеется, создаваемый
запросом на выборку с выводом по частям, при вызове метода 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