You are almost there.
The criteria needs to be within your append query and not where you have it (in the button event code).
Private Sub Duplicate_Click()
Dim strCriteria As String
>>Remove This>>>strCriteria = "[Contract ID]= " & Me![Contract ID]
DoCmd.OpenQuery "NameOfAppendQuery"
End Sub
ADD a 'WHERE' criteria statement...
INSERT INTO [PB Listing] ( [Contract ID], [Created Date], [Site Name] )
SELECT [PB Listing].[Contract ID], [PB Listing].[Created Date], [PB Listing].[Site Name], *
FROM [PB Listing] WHERE [Contract ID] = me![Contract ID]
ORDER BY [PB Listing].[Created Date];
Robert