Another way to do it would be to set the default value of those 5 fields as the value of the previous record, many examples in the forums:
https://www.access-programmers.co.uk...fields.307738/
https://www.access-programmers.co.uk...-value.120910/
https://www.access-programmers.co.uk...record.287145/ <------this one has code similar to yours
To do it how you started (with a button) please review this updated code:
EDITED CODE BELOW - added square brackets to table name in the two dLookups:
Code:
Dim lngID As Long
lngID = Dmax ("ID", "[Order Tracking]","[ID]<" & Me.ID) 'assumes ID is an autonumber and already created for the current new record
'DoCmd.GoToRecord , , acPrevious 'not needed
Me.Contract_Signer_Title = DLookup("Contract_Signer_Title", "[Order Tracking]", "ID=" & lngID) 'Contract_Signer_Title is the name of the textbox control bound to the Contract_Signer_Title field in [Order Tracking] table
Me.Contract_Signer_First_Name = DLookup("Contract_Signer_First_Name", "[Order Tracking]", "ID=" & lng)
'add your other fields using a similar syntax)
Cheers,