Access is a good choice for small development projects where your volume of data to be stored in the database, is less. However, access is a desktop
database, and is not a true RDBMS, so consider using SQL Server for better
performance and support for things like concurrency and integrity.
For report generation you have two options as far as VB is concerned. Either
go in for the inbuilt Report Designer or opt for a third party report generation solution such as Crystal Reports.
If the reports you plan to produce are simple enough, then the inbuilt Report designer would be all you need. Otherwise Crystal Reports is the way to go!