Most of what you specify is just standard database work, so I'll leave that to you to learn, but I'll point you in the direction of some parts that may be hard to find.
I'd use ADO.net , OleDb , and the ACE engine. If you have Office installed then you should have the ACE engine already, if not you can get it here:
Microsoft Access Database Engine 2010 Redistributable [
^]
Here's some information that should help you formulate a connection string:
http://www.connectionstrings.com/access/[
^]
Once you have a Connection to the database, you can get schema information (e.g. a list of tables) with:
http://msdn.microsoft.com/en-us/library/ms135982(v=vs.110).aspx[
^]
or
http://msdn.microsoft.com/en-us/library/system.data.oledb.oledbconnection.getoledbschematable(v=vs.110).aspx[
^]
(This one is harder to use and is only for OleDb.)
To get the list of columns (and their types) I prefer to use a DataReader because it works with many data providers.
I create a command like "SELECT * FROM tablename WHERE 0=1", call ExecuteReader, and then access the DataReader's GetSchemaTable method to get a DataTable with the column details.
If you don't need the details, you can simply iterate the fields and use GetName
http://msdn.microsoft.com/en-us/library/system.data.idatarecord.getname(v=vs.110).aspx[
^]
to build the list of column names.
I'll also include a shameless plug for my most recent article:
Simplified Database Access via ADO.NET Interfaces[
^]