VBA (Visual Basic for Applications) is the programming language in Access.
It provides all the basics you need, such as loops, branches, types of
variable, and so on. It also includes the Access library that allows you to
use references such as "Forms.Form1.Textbox1".
From a code window, choose References on the Tools menu, and you will see
there a dozens of availiable libraries you can add to the basic VBA/Access.
If you are working with Access tables and interface, the DAO library is the
best one to use. It is the native Access library, the one Access itself uses
behind the scenes. It is selected by default in Access versions 1, 2, 95,
97, and 2003, and lets you get to additional things like TableDefs,
QueryDefs, Recordsets, executing transactions, and a host of other things.
There is no question that it is the most suitable and efficient additional
library in all versions if you use the Access tables and interface.
In Access 2000, Microsoft tried introducing ADO instead of DAO. ADO is not
designed specifically for Access/JET, so they argued it would be better for
data stored in other sources such as SQL Server. It is less efficient than
DAO for Access stuff, and less complete. So they offered ADOX (extension to
ADO) to expose some of the missing stuff in ADO. ADOX is still incomplete
(e.g. you cannot set the DisplayControl of a field with ADOX), and is also
so buggy as to be unusable, so you still must use DAO. I think they've
realized that, and so DAO is back, referenced by default in Access 2003.
However, in their attempt to foist ADO onto us, they did not bother to
update DAO with most of the new stuff introduced in JET 4. As a result, you
*do* have to learn ADO and ADOX to be able to do some things such as running
some DDL queries (which don't even work in the Access interface since that
uses DAO itself), or resetting the Seed of an AutoNumber.
Unfortunately, the inconsistency between the libraries for various versions
means that really basic code such as:
Dim rs As Recordset
can fail or give wrong results. You also have to learn about these
inconsistences, and how to avoid them. See:
http://members.iinet.net.au/~allenbrowne/ser-38.html
So:
1. Learn VBA if you want to learn about programming.
2. Choose DAO as your extra library if you are working with Access tables
and interface.
3. After you have mastered those, you will also need to learn ADO/ADOX as
well if you want to be able to do everything.