Got it - partial apology then, but I do think there is a way to streamline your process. How do you plan, for example, to add another field should they add one?
Another question is - is this 'new field' a product of several other fields? Is it (just as an example) of combining date elements (Month/Day/Year) that are in 3 fields into a single field?
Making another assumption - if you can cut and paste a new field into the table, it's probably because the order of the records is the same. Some of the field values were cleaned up but #5 is #5 on both source versions.
If so, you can go after this with code to update the tables.
The technique would be to import the new table (only import the one column, this will make it far smaller)...then use something like DAO to open two recordset objects and copy the fields over. You probably can't use SQL & a JOIN to do this if the key fields have differences.
Please note, this makes the highly unlikely assumption that the field # that you wish to update is the 11th (10 -- columns start at 0) You can also specify a fieldname like !fieldname or .Fields("name").Value.
Also, this is pretty rough. No error checking in case rs2 runs out of records should it not be the same length nor is it comparing which row each recordset might be on. Needs polishing.
Code:
Dim dbs As DAO.Database
Dim rs, rs2 As DAO.Recordset
Dim strSQL As String
Set dbs = CurrentDB()
strSQL = "SELECT * FROM tblCurrent"
Set rs = dbs.OpenRecordset(strSQL, dbOpenDynaset)
strSQL = "SELECT * FROM tblNew"
Set rs2 = dbs.OpenRecordset(strSQL, dbOpenSnapshot)
With rs
Do Until rs.EOF
.Edit
.Fields(10).Value = rs2.Fields(0).Value
rs2.MoveNext
.Update
.MoveNext
Loop
End With
Set rs = Nothing
Set rs2 = Nothing
Set dbs = Nothing
Mike