No, that's VBA code, not a macro (though the two are often confused). Your existing code would go in the Else clause. The single DoCmd.OpenForm line from my link would go in the first part. Along the lines of:
Code:
If IsNumeric(Me.Text12) Then
DoCmd.OpenForm "Call Details", acNormal, , "IDFieldName = " & Me.Text12
Else
DoCmd.OpenForm "Call Details", acNormal, , , acFormAdd
Forms![Call Details].txtCID = Forms![Call history data]!navigationsubform.Form!ID
Forms![Call Details].txtphone = Forms![Call history data]!navigationsubform.Form![phone home].Column(1)
End If