One option is to create a stored procedure in your sql server database to do it, see here:
select from access database file and insert to sql Database
As was mentioned by marc_s you may be able to use SSIS - but there could be quite a bit of learning involved in getting that right.
Another option is to control it from within C# - pulling data from the access DB and then inserting it into the sql server - this is unlikely to be what you want.
If your access db and the sql server instance are guaranteed to be on the same server then I would be inclined to try option 1. If not then it opens up dozens of additional questions ;)
EDIT:
you mention it can be done by clicking a button - in this case really you should give the SSIS solution a once over at least and see if it looks like what you want, it is designed for exactly this type of scenario.