I have never done this before but it seems logical.One potential down side to this would be limited error handling because if the update query fails for some reason I'd have to troubleshoot to figure out what the problem is.Not a lot of bloat in the grand scheme of things, especially when the database is going to increase in size anyway due to normal data entry so probably nothing to worry about. You may find that rephrasing your criteria to locate a specific record is faster, especially when working with large recordsets.
Records are meant to be added/adppended/updated/de * What might have been true for 2003 might not be true with 2007 * I'm advising to go after the table, rather than SQL.
Run SQL ("Insert into temp Billing Clone select billing ID, Job ID, Description, Date, quantity, Rate, account from tbl Billing where job ID = " & Previous. With using the currency code as the criteria only one record should be returned so no need to loop after the rate has been updated.