Рекомендуется пользоваться массивами. Они хранятся в памяти и выполняются исключительно быстро. Расширение массивов занимает бесконечно малое количество времени, однако они используют только тот объем памяти, который им нужен в данный момент. Если неизвестно, сколько элементов необходимо поместить в массив, можно создать динамическое множество, а не один большой статический массив с массой пустого места.
Если необходимо очистить массив, но не разрушать при этом его структуру, можно использовать ключевое слово 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
…
После загрузки данных в массив им можно манипулировать любым способом или поместить его в несвязанную форму.