You can use oledb to connect to access. I don't know a good way around stored procedures in access, I have just managed them via coding objects for the most part.
A few things I have found when using access as a database:
It gets limited pretty quick when you come to multi user applications.
When doing inserts you will need to leave the connection open, re-opening a connection between inserts is time consuming.
You'll need paren's when doing multiple joins
SELECT * FROM (((table1 inner join table2 on table1.f1 = table2.f1)
inner join table3 on ... = ...) inner join table2 on ... = ... )
Reserved words, space, etc for table/field names is generally not a good idea, but if it can't be avoided you surround them with []
Try to keep table management queries as low as possible (adding and dropping fields, etc) because eventually you will hit exceeded limits if you don't. If this happens you can compact and repair the database, but it's best to try and stay clear of it.
If you can build the database and then compact and repair it before it gets used for production.