I'm currently at a crossroads on a solution I'm working on which requires the end user to import data from Excel. There's a couple of clear ways this can be done, both of which are via the use of friendly green buttons for the end user and scripting for me.
1) Import the data initially to a temp table where the user can examine and confirm they're happy with it. Pause the import script and use another friendly green button to resume the script, whereupon the data is transferred to its final table within the DB.
2) Import the data directly to the main data table without the checking step as a part of the import routine, but flag the data instead as 'locked' (or something similar) so it's not used until reviewed by the user.
I'm really looking to see what other people may have done in similar scenarios.
The benefits of 1) above are the ability to cross check data, but the cost is the time taking to move the (sometimes large volume of) data from the temp table to the data table. (I'm just setting variables in the script, flicking to the data table, updating the fields and then returning to the temp table in a loop, exiting after last).
The benefits of 2) above are obviously speed, but if there's anything wrong with the data or if the import routine borks, then the main data table is at risk.
Any thoughts on this discussion gratefully received