Свойство CacheSize (ADO)
Область применения: Access 2013, Office 2013
Указывает количество записей из объекта Recordset , которые кэшируются локально в памяти.
Параметры и возвращаемые значения
Задает или возвращает значение Long , которое должно быть больше 0. Значение по умолчанию 1.
Замечания
Свойство CacheSize используется для управления количеством записей, извлекаемого одновременно в локальную память от поставщика. Например, если значение CacheSize равно 10, после первого открытия объекта Recordset поставщик извлекает первые 10 записей в локальную память. При перемещении через объект Recordset поставщик возвращает данные из локального буфера памяти. Как только вы перейдете к последней записи в кэше, поставщик извлекает следующие 10 записей из источника данных в кэш.
Примечание.
CacheSize основан на свойстве Максимум открытых строк , зависят от поставщика (в коллекции Properties объекта Recordset ). Значение CacheSize больше , чем Максимальное число открытых строк. Чтобы изменить количество строк, которое может открыть поставщик, установите параметр Максимальное число открытых строк.
Значение CacheSize можно изменить во время существования объекта Recordset , но изменение этого значения влияет только на количество записей в кэше после последующего извлечения из источника данных. Изменение значения свойства само по себе не приведет к изменению текущего содержимого кэша.
Если требуется извлечь меньше записей, чем указано в CacheSize , поставщик возвращает оставшиеся записи, и ошибка не возникает.
Параметр CacheSize с нулевым значением не разрешен и возвращает ошибку.
Записи, полученные из кэша, не отражают одновременные изменения, внесенные другими пользователями в исходные данные. Чтобы принудительно обновить все кэшированные данные, используйте метод Resync .
Если параметр CacheSize имеет значение больше единицы, методы навигации (Move, MoveFirst, MoveLast, MoveNext и MovePrevious) могут привести к переходу к удаленной записи, если удаление происходит после извлечения записей. После начальной выборки последующие удаления не будут отражены в кэше данных до тех пор, пока не будет предпринята попытка получить доступ к значению данных из удаленной строки. Однако установка значения CacheSize в значение one устраняет эту проблему, так как удаленные строки не могут быть извлекаемы.