Basicaly a 2D array is a bunch of data in memory of a single PC (no
multi-users, no predefined mechanic to save on permanent medium the changes,
no index) while a recordset is a collection of 'bookmarks' (keys) while
allowing you to reach data of one 'row' of data, eventually with 'write'
capability (or not), caching the data (from the hard-disk where the data is
stored) or not.
You also have to consider how your 2D array will be filled with the data,
probably more work, for you, than 'defining' the recordset. And if you
already know that you only want some subset of your data, the recordset
already offer you the possibility to use a WHERE clause, so you don't have
to carry all the data, through the cable, most of it rejected because not
matching what you need.
You will also have to sort, and filter, by code to be supplied by you, if
you use 2D array. And inserting new 'rows' at the right place, moving all
other rows down, or up if there are DELETING possibilities.
So, if you data is static (fix, unmodifiable), single user, 2D array can be
ok, but for anything else, recordset... or even better, table, can be much
better.
Vanderghast, Access MVP