You have 'access-vba' in the tags for your post, so I assume you're going to be focused on using VBA with Access. You should clarify that, since VBA can be used with all of MSFT's office apps, but if you're only programming Access then you don't need to learn how VBA works with the others.
I learned VBA with Access by using this excellent book:
http://www.amazon.com/Beginning-Access-2000-Robert-Smith/dp/0764543830/ref=sr_1_2?ie=UTF8&s=books&qid=1238259950&sr=8-2
It's for Access 2000 and there've been some changes since then, but you can get a used copy for $3.50 so it would be well worth picking up as a resource. I thought it was an excellent guide for learning vba with access.
VBA is basically identical to Visual Basic 6, except that each of the MSFT Office apps has VBA and a VBA IDE embedded into it. A big part of programming the office apps is learning each application's object model. That doesn't necessarily have anything to do with VBA, you'd automate the app using same object model even if you were using C# or Delphi, but it's obviously important part of using VBA with the office app.
If you're doing general purpose office automation using two or more of the office apps, I expect the book J. Feminella suggested is a good one. If you're going to be working only in Access, I'd look for an entry level programming book for the specific version of
Access you're using. Searching at Amazon and reading user comments would be good route to check, even if you get some specific recommendations in this thread.