Καλημέρα!
Αγαπητέ Δήμο, αν θέλεις απλά να εμφανίζεται ότι υπάρχουν διπλότυπες εγγραφές
τότε η χρήση της
VBA δεν είναι απαραίτητη.
Υποθέτω ότι το
MTYPOS είναι το πεδίο περιέχει τους τύπους προϊόντων.
Σε ένα νέο πεδίο στη φόρμα με το όνομα "
IsDuplicate" πέρασε το παρακάτω:
=DCount("*";"[προιοντα]";"[MTYPOS]='" & [MTYPOS] & "'")>1 αν ο τύπος δεδομένων του πεδίου
MTYPOS είναι
κείμενο
ή
=DCount("*";"[προιοντα]";"[MTYPOS]=" & [MTYPOS] )>1 αν ο τύπος δεδομένων του πεδίου
MTYPOS είναι
αριθμός.
Κατόπιν, επίλεξε το πεδίο
MTYPOS και στη μορφοποίηση υπό όρους χρησιμοποίησε την έκφραση: "
IsDuplicate" και όρισε τη μορφοποίηση του πεδίου όπως επιθυμείς.
Αν πάλι θέλεις να
αποκλείσεις διπλότυπες εγγραφές θα μπορούσες να χρησιμοποιήσεις το παρακάτω:
Κώδικας:
Private Sub MTYPOS_BeforeUpdate(Cancel As Integer)
'αν ο τύπος δεδομένων του πεδίου MTYPOS είναι αριθμός τότε
'.....DCount("*", "[προιοντα]", "[MTYPOS]=" & CDbl(Me![MTYPOS].Text)) > 1....
If DCount("*", "[προιοντα]", "[MTYPOS]='" & Me![MTYPOS].Text & "'") > 1 Then
Cancel = True
MsgBox "Διπλότυπη εγγραφή!"
Me![MTYPOS].Undo
End If
End Sub
Τον παραπάνω κώδικα τον προτείνω με κάθε επιφύλαξη αφού δεν μπορώ να γνωρίζω τι υπάρχει ήδη στη φόρμα σου.
Καλή συνέχεια!
Με εκτίμηση
Τάσος