I cast my vote for some C# thing. You may need to watch out for memory usage if you have large tables.
The basic idea goes like this:
foreach(tableName in access)
get the table from access
optionally clear the target table
sqlbulkcopy it to target database
A more complicated solution would be to grab both tables and only update the changed rows.