Έστω ότι έχουμε τον πίνακα "pelates" με τα πεδία:
ID (αυτόματη αρίθμηση)
onoma (κείμενο)
eponymo (κείμενο)
γράφοντας τον παρακάτω κώδικα αποτρέπουμε την διπλή εγγραφή
Κώδικας:
Private Sub Form_BeforeUpdate(Cancel As Integer)
If Me.Field1 & "" = "" Or Me.Field2 & "" = "" Then
Cancel = True
MsgBox "Τα πεδία 'onoma' και 'eponymo' πρέπει να συμπληρωθούν για να αποθηκευτεί η εγγραφή.", vbExclamation
Exit Sub
End If
If DCount("*", "[pelates]", "[onoma] ='" & Me.Field1 & "' AND eponymo='" & Me.Field2 & "'") Then
MsgBox "Διπλότυπη εγγραφή!", vbExclamation
Cancel = True
End If
End Sub
Δουλεύει σωστά.
Τα μηνύματα που παίρνω όταν πατάω αποθήκευση είναι
msg1 "Ο πελάτης υπάρχει ήδη στο σύστημα"
Πατώντας οκ με πάει στο
msg2 "Δεν υπάρχει τρέχουσα εγγραφή"
Πατώντας οκ με πάει στο
msg3 "Ο νέος πελάτης καταχωρήθηκε με επιτυχία"
Φυσικά δεν αποθηκεύει την εγγραφή.
Το θέμα είναι πως παρακάμπτουμε τα 2 τελευταία μηνύματα.
Αυτά θέλω να τα βγάζει μόνο όταν δεν υπάρχει ο πελάτης.
Ευχαριστώ