I do exactly this regularly for a club
The office application has an option to extract the data to a csv file (it could also be to a tab delimited file, as this gets round problems with odd characters in the actual data itself). The extract is from a predetermined date to the current date - we start with from the 1st January for the current year, then I change it every few months to, say, 1st March, 1st July, and so on - the office staff are not very computer literate. The two extracts are actually a view - the result of querying several tables - the denormalised approach suggested by tripy above. This simplifies things for our members who just have a few choices to make to get at their own data, via some queries I wrote for the web site and some radio buttons.
Then, using SQL Manager 2007 Lite (which is free), I fire off a set of sql commands like those below, to remove the older equivalent data, then replace it with the same data + the new data. (If we could trust the office staff to do things properly, we'd just add a week's worth or a month's worth at a time, but they find it easier to just click the extract button rather than alter things and get it wrong, as if they give me the wrong start date, things can go very wrong indeed.)
This is very quick to do. I keep a copy of the queries in a text file, and just edit the dates then copy and paste it into SQL Manager.
delete from mycounts where fdate >= "2009-01-01";
load data local infile "c:/Users/Dr John/Documents/logpile/AccountDataExport_2009-01-03.txt" into table mycounts;
delete from myflights where fdate >= "2009-01-01";
load data local infile "c:/Users/Dr John/Documents/logpile/FlightDataExport_2009-01-03.txt" into table myflights;
I'm sure you could do the same with Access, exporting a query to a file.
However, this is a one-way synchronisation. The online copy either matches the office or is a week or so behind it. no new data is added to the online except by the above queries.
Oops, nearly forgot. As this involves displaying payments they have made, there is a secure log in and they can of course only get at their own data. You'd need to have a secure log-in as well.