Ok so it sort of worked. And very much didn't. Now everything comes back and says its duplicate! Any clues John?
Private Sub RiskReference_BeforeUpdate(Cancel As Integer)
If DCount("RiskReference", "[Policy Details]", "RiskReference= " & "'" & Me.RiskReference & "'") > 0 Then
Me.Undo
MsgBox...