Access. Программирование на VBA

       

Использование быстродействующих массивов


Рекомендуется пользоваться массивами. Они хранятся в памяти и выполняются исключительно быст­ро. Расширение массивов занимает бесконечно малое количество времени, однако они используют толь­ко тот объем памяти, который им нужен в данный момент. Если неизвестно, сколько элементов необходимо поместить в массив, можно создать динамическое множество, а не один большой статичес­кий массив с массой пустого места.

Если необходимо очистить массив, но не разрушать при этом его структуру, можно использовать ключевое слово Erase. Это позволяет очистить массив определенного размера, не перестраивая его.

Erase MyArray

Наоборот, если нужно расширить массив, не разрушая содержащихся в нем данных, следует исполь­зовать

Redim вместе с Preserve.

ReDim Preserve myArray(Ubound(myArray+l))

Массивы часто могут управлять данными из набора записей. Вместо постоянно открытого набора за­писей DAO с излишними затратами ресурсов можно применить метод GetRowsQ и закрыть набор запи­сей. Это позволит освободить память и облегчить решение вопросов, связанных с многопользовательской средой. GetRowsQ использует один параметр: количество строк для загрузки в массив.

Dim db as Database

Dim rowArray as Variant

Dim rs as Recordset

Set db=CurrentDB()

Set rs=db.openrecordset("Quarterly Order»")

RowArray=rs.GetRows(rs.RecordCount)

rs.close

После загрузки данных в массив им можно манипулировать любым способом или поместить его в несвязанную форму.



Содержание раздела