OLE DB is COM based, ODBC isn't.
OLE DB exposes a much richer programming interface and is better with
tractions, if you ask me. However, in general ODBC is quite a bit faster
than OLE DB. Please note that it really depends on the underlying provider
or driver, but with MS Access, I would probably go with the OLE DB provider,
unless you have loads of data to process...