Поделиться через


Подсчет строк

Область применения: Access 2013, Office 2013

Свойство RecordCount возвращает значение Long , указывающее количество записей в наборе записей. Используйте свойство RecordCount , чтобы узнать, сколько записей находится в объекте Recordset . Свойство возвращает значение -1, если ADO не может определить количество записей или если поставщик или тип курсора не поддерживает RecordCount. Чтение свойства RecordCount в закрытом наборе записей приводит к ошибке.

Свойство RecordCount зависит от возможностей поставщика и типа курсора. Свойство RecordCount возвращает значение -1 для курсора только вперед, фактическое число для статического курсора или курсора набора ключей, а также значение -1 или фактическое число динамического курсора в зависимости от источника данных.

Пример набора записей , представленный в разделе Проверка данных , вернет –1, так как был открыт курсор только вперед. Чтобы использовать свойство RecordCount , необходимо открыть набор записей с более сложным курсором (статическим или набором ключей).

В некоторых случаях поставщику или курсору может быть не удается указать значение RecordCount без предварительной выборки всех записей из источника данных. Чтобы принудительно получить этот тип, вызовите метод RecordsetMoveLast перед вызовом RecordCount.

Если необходимо заменить строку кода, которая вызывает метод RecordsetOpen , следующим образом:

 
oRs.Open sSQL, sCnStr, adOpenStatic, adLockOptimistic, adCmdText 

Вы сможете использовать свойство RecordCount , так как статические курсоры с поставщиком Microsoft OLE DB для SQL Server поддерживают RecordCount. Например, следующий код выводит количество записей, возвращаемых командой в окно отладки, при условии, что курсор поддерживает свойство RecordCount :

 
Debug.Print oRs.RecordCount ' Output: 4 

С этого момента предположим, что используются эти более функциональные (но более дорогие) параметры курсора и типа блокировки.