Δε μπορείς να μετακινηθείς σε κάποια άλλη εγγραφή ενώ ακόμη δεν έχεις αποθηκεύσει ή αναιρέσει την τρέχουσα εγγραφή.
Θα πρέπει πρώτα να ξεκαθαρίσεις τί θα κάνεις με την τρέχουσα διπλοεγγραφή ιδιαίτερα αν κανένα από τα πεδία Τηλέφωνο και Όνομα δεν έχει ορισμένη την ιδιότητα με ευρετήριο σε Ναι (Δεν επιτρέπονται διπλότυπα).
Στον έλεγχο θα πρέπει επίσης να λάβεις υπόψην αν πρόκειται για νέα ή για ήδη αποθηκευμένη εγγραφή.
Private Sub ΤΗΛΕΦΩΝΟ_BeforeUpdate(Cancel As Integer)
Dim strPhone As String
Dim strName As String
Dim rs As Object
strPhone = Nz(Me.ΤΗΛΕΦΩΝΟ)
strName = Nz(Me.ΟΝΟΜΑ)
If Me.NewRecord = True Then
If DCount("*", "contacts", "ΤΗΛΕΦΩΝΟ='" & Me.ΤΗΛΕΦΩΝΟ & "' AND ΟΝΟΜΑ='" & Me.ΟΝΟΜΑ & "'") > 0 Then
Me.Undo
' Εύρεση της εγγραφής που ταιριάζει
Set rs = Me.Recordset.Clone
rs.FindFirst "ΤΗΛΕΦΩΝΟ='" & strPhone & "' AND ΟΝΟΜΑ='" & strName & "'"
If Not rs.EOF Then Me.Bookmark = rs.Bookmark
End If
Else
If Me.Telephone.OldValue <> Me.Telephone Then
If DCount("*", "contacts", "ΤΗΛΕΦΩΝΟ='" & Me.ΤΗΛΕΦΩΝΟ & "' AND ΟΝΟΜΑ='" & Me.ΟΝΟΜΑ & "'") > 0 Then
Me.Undo
' Εύρεση της εγγραφής που ταιριάζει
Set rs = Me.Recordset.Clone
rs.FindFirst "ΤΗΛΕΦΩΝΟ='" & strPhone & "' AND ΟΝΟΜΑ='" & strName & "'"
If Not rs.EOF Then Me.Bookmark = rs.Bookmark
End If
End If
End If
End Sub