Contagem de linhas
Aplica-se ao: Access 2013, Office 2013
A propriedade RecordCount retorna um valor Long que indica o número de registros no Recordset. Use a propriedade RecordCount para descobrir quantos registros existem em um objeto Recordset. A propriedade retorna -1 quando o ADO não puder determinar o número de registros ou se um tipo de provedor ou cursornão oferecer suporte à RecordCount. Ler a propriedade RecordCount em um objeto Recordset fechado produz um erro.
A propriedade RecordCount depende dos recursos do provedor e do tipo de cursor. A propriedade RecordCount retornará -1 para um cursor apenas de avanço, a contagem real para um cursor estático ou de conjunto de chaves e -1 ou a contagem real para um cursor dinâmico, dependendo da fonte de dados.
O Recordset de exemplo apresentado em Examinando dados retornaria –1 porque um cursor apenas de avanço foi aberto. Para usar a propriedade RecordCount, você precisaria abrir o Recordset com um cursor mais sofisticado (estático ou de conjunto de chaves).
Em alguns casos, o provedor ou o cursor talvez não seja capaz de fornecer o valor RecordCount sem primeiro buscar todos os registros na fonte de dados. Para forçar este tipo de obtenção, chame o método MoveLast do Conjunto de Registos antes de chamar RecordCount.
Se substituir a linha de código que chama o método RecordsetOpen pelo seguinte:
oRs.Open sSQL, sCnStr, adOpenStatic, adLockOptimistic, adCmdText
você poderia usar a propriedade RecordCount porque os cursores estáticos com Microsoft OLE DB Provider for SQL Server oferecem suporte à propriedade RecordCount. Por exemplo, o código a seguir imprimiria o número de registros retornados pelo comando para a janela de depuração, assumindo que o cursor oferecesse suporte à propriedade RecordCount:
Debug.Print oRs.RecordCount ' Output: 4
Deste ponto em diante, considere que essas configurações de tipo de bloqueio e cursor com mais recursos (mas mais caras) são usadas.