I assume this code is after you have selected both recordsets.
If rst1.ID = rst2.ID Then
MsgBox ""
Else
MsgBox "There are no matches"
End If
Access properties, methods, objects, etc.. are referenced using the period.
rst1.EOF, rst1.RecordCount, rst1.MoveFirst
Variable names which are part of a select statement are referenced using the !
rst1!ID, rst2!ID, etc...