You can create (and run) queries in your VB code, as I showed in post #2.

Using queries is a fast way to extract data, as you are limiting the amount of data that needs to be sent to your program (and picking the rows/columns is faster, as the database system is much more efficient at it than VB code can be).

Queries do not contain data, they just contain instructions on what data to get. Within Access you can execute a query, and the results are displayed on screen in a grid interface (similar to how tables are displayed), whereas when you execute a query from code the results are stored in a recordset.