I am trying to copy over the whole table, but this is the idea simplified. Both tables have the same fields.
I don't understand. 
If you are going to copy over the whole table, why not delete all records from "tblbalance" and append the records from "tblbalance_move"?
Are the "startdates" in "tblbalance_move" unique?
If tblbalance.startdate and tblbalance_move.StartDate are a 1-to-1 relationship, start with
Code:
UPDATE tblbalance INNER JOIN tblbalance_move ON tblbalance.StartDate = tblbalance_move.StartDate SET tblbalance.enddate = [tblbalance_move].[enddate];
and add the rest of the fields.
What should happen if there are records (startdates) in "tblbalance_move.StartDate" that are not in "tblbalance.StartDate"?
The only other way I know of is to write VBA code to do the update.