Ανανέωση ιστοσελίδας
ms-office.gr > Forum > Microsoft Access > Access - Ερωτήσεις / Απαντήσεις > Έλεγχος διπλοεγγραφής με κώδικα VBA

Access - Ερωτήσεις / Απαντήσεις Access + VBA... Εδώ δεν υπάρχουν όρια!

Απάντηση στο θέμα

 

Εργαλεία Θεμάτων Τρόποι εμφάνισης
  #1  
Παλιά 28-04-11, 20:23
Όνομα: Δήμος
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 05-01-2009
Περιοχή: ΛΑΡΙΣΑ
Μηνύματα: 70
Προεπιλογή Έλεγχος διπλοεγγραφής με κώδικα VBA

Καλησπέρα και χρόνια πολλα σε ολους απο λαρισα.
Θα ηθελα βοηθεια και παλι στο εξης.
Εχω μια φορμα που κανω καταχωριση ενα προιον με κωδικα, Και θα ηθελα εαν υπαρχει ευκολος !!!! τροπος οταν ενημερωνω το πλαισιο κειμενου
με τον τυπο να κανει ελεγχο στον πινακα προιοντα και να μου δειχνει ενα υπαρχει τετοιος τυπος ξανα.
ευχαριστω προκαταβολικα.
Απάντηση με παράθεση
  #2  
Παλιά 28-04-11, 21:19
Όνομα: ΔΗΜΗΤΡΗΣ
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2007, Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 09-11-2010
Περιοχή: Γιαννιτσά
Μηνύματα: 149
Προεπιλογή

Καλησπέρα Δημο
Ενας ευκολος τροπος ειναι DCount("Τυπος","Πινακας","Τυπος = Πεδιο καταχωρησης")
Αν το αποτελεσμα ειναι μεγαλυτερο απο 0 τοτε υπαρχει

Φιλικα Δημητρης
Απάντηση με παράθεση
  #3  
Παλιά 28-04-11, 21:31
Όνομα: Δήμος
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 05-01-2009
Περιοχή: ΛΑΡΙΣΑ
Μηνύματα: 70
Προεπιλογή

Καλησπέρα Δημητρη δηλαδη εαν το βαλω μετα απο την ενημερωση θα γινει ετσι
τυπος = AT-71
βαση= προιοντα
Πεδιο καταχωρησης=MTYPOS

DCount("AT-71","προιοντα","AT-71=MTYPOS")

Δέν με δουλεψε μηπως κανω κατι λαθος ?
Απάντηση με παράθεση
  #4  
Παλιά 28-04-11, 23:34
Όνομα: ΔΗΜΗΤΡΗΣ
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2007, Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 09-11-2010
Περιοχή: Γιαννιτσά
Μηνύματα: 149
Προεπιλογή

Παράθεση:
Αρχική Δημοσίευση από pdhmos Εμφάνιση μηνυμάτων
Καλησπέρα Δημητρη δηλαδη εαν το βαλω μετα απο την ενημερωση θα γινει ετσι
τυπος = AT-71
βαση= προιοντα
Πεδιο καταχωρησης=MTYPOS

DCount("AT-71","προιοντα","AT-71=MTYPOS")

Δέν με δουλεψε μηπως κανω κατι λαθος ?
Γραψε DCount("mtypos","προιοντα","AT-71=MTYPOS")

Το θεμα ειναι οτι το ΑΤ-71 ειναι αυτο που καταχωρεις αν καταλαβα καλα
Αρα το καταχωρεις σε μια μεταβλητη. Ας πουμε TYPOSNEW

Τοτε θα γραψεις DCount("MTYPOS","προιοντα","MTYPOS=" & ME!TYPOSNEW & "")

Δοκιμασε και πες μας
Απάντηση με παράθεση
  #5  
Παλιά 29-04-11, 10:45
Το avatar του χρήστη Tasos
Διαχειριστής
Όνομα: Τάσος Φιλοξενιδης
Έκδοση λογισμικού Office: Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική, Γερμανική
 
Εγγραφή: 21-10-2009
Μηνύματα: 2.035
Προεπιλογή

Καλημέρα!
Αγαπητέ Δήμο, αν θέλεις απλά να εμφανίζεται ότι υπάρχουν διπλότυπες εγγραφές
τότε η χρήση της 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
Τον παραπάνω κώδικα τον προτείνω με κάθε επιφύλαξη αφού δεν μπορώ να γνωρίζω τι υπάρχει ήδη στη φόρμα σου.

Καλή συνέχεια!

Με εκτίμηση

Τάσος
__________________
Ms-Office Development Team
Ανάπτυξη επαγγελματικών εφαρμογών
Απάντηση με παράθεση
  #6  
Παλιά 30-04-11, 23:36
Το avatar του χρήστη Tasos
Διαχειριστής
Όνομα: Τάσος Φιλοξενιδης
Έκδοση λογισμικού Office: Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική, Γερμανική
 
Εγγραφή: 21-10-2009
Μηνύματα: 2.035
Προεπιλογή

Καλησπέρα Δήμο!

Σε ένα νέο πεδίο στη φόρμα (Στυλ Φόντου:Διαφανές, Στυλ περιγράμματος: Διαφανές, Χρώμα πρώτου πλάνου: #FF0000)
που θα το τοποθετήσεις δίπλα στο ΜΤΥΠΟΣ πέρασε το παρακάτω:

=IIf(DCount("*";"[ΠΡΟΙΟΝΤΑ]";"[ΤΥΠΟΣ]='" & [ΜΤΥΠΟΣ] & "'")>0;"Διπλοεγγραφή!!";"")

για να σου δείχνει αν η καταχώρηση στο πεδίο ΜΤΥΠΟΣ υπάρχει ήδη στον πίνακα ΠΡΟΙΟΝΤΑ.

Καλή συνέχεια!

Με εκτίμηση

Τάσος
__________________
Ms-Office Development Team
Ανάπτυξη επαγγελματικών εφαρμογών
Απάντηση με παράθεση
  #7  
Παλιά 01-05-11, 09:09
Όνομα: Δήμος
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 05-01-2009
Περιοχή: ΛΑΡΙΣΑ
Μηνύματα: 70
Προεπιλογή

Καλημερα τασο και δημητρη καθως και σε ολη την κοινοτητα και καλο μηνα.
(εδω στην λαρισα βρεχει )
Τασο σε ευχαριστω ακριβος αυτο ηθελα. Παλεψα να κανω την προταση του δημητρη και την δικια σου
αλλα απετυχα (με αποκοπη επικοληση ολλα οκ).

υγ. Θα ηθελα την γνωμη σας για το εαν αξιζει να εφαρμοζω φορμες με αδεσμευτα πεδια κλπ αντι του να ειναι δεσμευμετα επευθειας τα πεδια στην φορμα .

ΚΑΙ παλι ενα μεγαλο ευχαριστω.
Απάντηση με παράθεση
Απάντηση στο θέμα


Δικαιώματα - Επιλογές
Δε μπορείτε να δημοσιεύσετε νέα μηνύματα
Δε μπορείτε να δημοσιεύσετε απαντήσεις
Δεν μπορείτε να επισυνάψετε αρχεία
Δεν μπορείτε να επεξεργαστείτε τα μηνύματα σας

Ο κώδικας ΒΒ είναι σε λειτουργία
Τα Smilies είναι σε λειτουργία
Ο κώδικας [IMG] είναι σε λειτουργία
Ο κώδικας HTML είναι εκτός λειτουργίας
Trackbacks are εκτός λειτουργίας
Pingbacks are εκτός λειτουργίας
Refbacks are εκτός λειτουργίας


Παρόμοια Θέματα

Θέμα Δημιουργός Forum Απαντήσεις Τελευταίο Μήνυμα
Αποτροπή διπλοεγγραφής Χρήστος Access - Ερωτήσεις / Απαντήσεις 14 04-09-15 21:17
Αποτροπή διπλοεγγραφής stavross Access - Ερωτήσεις / Απαντήσεις 7 04-01-13 17:28
Αποτροπή διπλοεγγραφής bill72 Access - Ερωτήσεις / Απαντήσεις 2 20-12-12 15:15
[ Φόρμες ] SOS_Πρόβλημα διπλοεγγραφής PanosPan Access - Ερωτήσεις / Απαντήσεις 3 02-03-11 10:59
Έλεγχος πρόσβασης στο Internet μέσω κώδικα ChryssaV Access - Ερωτήσεις / Απαντήσεις 10 06-08-09 17:32


Η ώρα είναι 08:34.