Ανανέωση ιστοσελίδας
ms-office.gr > Forum > Microsoft Excel > Excel - Ερωτήσεις / Απαντήσεις > [VBA] Έλεγχος διπλοεγγραφής βάση του ΑΜΚΑ

Excel - Ερωτήσεις / Απαντήσεις Ότι έχει σχέση με συναρτήσεις, μορφοποίηση, εκτυπώσεις γραφήματα κτλ.

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

 

Εργαλεία Θεμάτων Τρόποι εμφάνισης
  #1  
Παλιά 04-05-20, 10:04
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2013
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 14-04-2013
Μηνύματα: 246
Προεπιλογή Έλεγχος διπλοεγγραφής βάση του ΑΜΚΑ

Καλημέρα κ καλό μήνα,
Φτιάχνω μια μικρή εφαρμογή και θέλω ελέγχω διπλό εγγραφών με βάση το ΑΜΚΑ.
Σε αυτό το σημείο θα ήθελα τη βοήθεια σας,

Ευχαριστώ για όποια βοήθεια.
Συνημμένα Αρχεία
Τύπος Αρχείου: xlsm Βιβλίο2.xlsm (211,1 KB, 17 εμφανίσεις)
Απάντηση με παράθεση
  #2  
Παλιά 04-05-20, 15:46
Το avatar του χρήστη Tasos
Διαχειριστής
Όνομα: Τάσος Φιλοξενιδης
Έκδοση λογισμικού Office: Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική, Γερμανική
 
Εγγραφή: 21-10-2009
Μηνύματα: 2.028
Προεπιλογή

Καλησπέρα σε σε όλους!

Γιώργο δοκίμασε τον παρακάτω κώδικα στη φόρμα::

Κώδικας:
Private Sub TextBox3_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
    Dim fCell As Range
    TextBox3.Value = Trim(TextBox3.Value)
    If TextBox3.Value = "" Then Exit Sub
    Set fCell = Worksheets("Data").Range("c:c").Find(What:=TextBox3.Value, LookIn:=xlValues, Lookat:=xlWhole)
    If Not fCell Is Nothing Then
        Cancel = True
        TextBox3.Value = ""
        TextBox3.SetFocus
        MsgBox "Διπλοεγγραφή!.....", vbExclamation, "Προσοχή"
    End If
End Sub
Καλή συνέχεια!

Τάσος
__________________
Ms-Office Development Team
Ανάπτυξη επαγγελματικών εφαρμογών
Απάντηση με παράθεση
  #3  
Παλιά 04-05-20, 18:20
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2013
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 14-04-2013
Μηνύματα: 246
Προεπιλογή

Τάσο καλησπέρα,
Ευχαριστώ για την άμεση απάντηση,
προσάρμοσα την πρόταση σου και έχω το εξής πρόβλημα,
όταν ανεβάσω από τη Listbox μια εγγραφή που ήδη έχει ΑΜΚΑ
και κάνω αποθήκευση τότε αποθηκεύεται.
όταν προσθέσω νέα εγγραφή με υπάρχον ΑΜΚΑ τότε λειτουργεί καλά, βγάζει μήνυμα,
και δεν κάνει καταχώρηση.

Ευχαριστώ και πάλι
Με εκτίμηση Γιώργος
Συνημμένα Αρχεία
Τύπος Αρχείου: xlsm Βιβλίο2.xlsm (213,8 KB, 19 εμφανίσεις)
Απάντηση με παράθεση
  #4  
Παλιά 04-05-20, 19:56
Το avatar του χρήστη Tasos
Διαχειριστής
Όνομα: Τάσος Φιλοξενιδης
Έκδοση λογισμικού Office: Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική, Γερμανική
 
Εγγραφή: 21-10-2009
Μηνύματα: 2.028
Προεπιλογή

Γιώργο μου το συμβάν "TextBox3_BeforeUpdate" θα τρέξει μόνο αν προκληθεί από τον χρήστη.

Δεν τρέχει όταν αλλάξει η τιμή του πεδίου προγραμματιστικά.

Προτείνω να χρησιμοποιήσεις την παρακάτω συνάρτηση:

Κώδικας:
Private Function ValueExists(strValue As String) As Boolean
    If strValue = "" Then Exit Function
    Set fCell = Worksheets("Data").Range("c:c").Find(What:=TextBox3.Value, LookIn:=xlValues, Lookat:=xlWhole)
    ValueExists = Not fCell Is Nothing
End Function
Η συνάρτηση ελέγχει αν υπάρχει διπλότυπο στη στήλη C και μπορεί να κληθεί από οποιοδήποτε σημείο της φόρμας ως εξής:

Κώδικας:
Private Sub TextBox3_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
    If ValueExists(Trim(TextBox3.Value)) Then
        Cancel = True
        '........
    End If
End Sub
ή

Κώδικας:
Private Sub ListBox1_Click()
    Dim say As Long, a As Byte

    If ValueExists(ListBox1.Column(2)) Then
        ' Υπάρχει διπλοεγγραφή. Κάνε κάτι.
        ' πχ. Exit Sub ή Msgbox
    End If

    '.............
    '.............

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

Με εκτίμηση

Τάσος
__________________
Ms-Office Development Team
Ανάπτυξη επαγγελματικών εφαρμογών
Απάντηση με παράθεση
  #5  
Παλιά 04-05-20, 21:52
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2013
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 14-04-2013
Μηνύματα: 246
Προεπιλογή

Τάσο,
Δούλεψε μια χαρά!

Ευχαριστώ πολλή.
Απάντηση με παράθεση
Απάντηση στο θέμα


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

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


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

Θέμα Δημιουργός Forum Απαντήσεις Τελευταίο Μήνυμα
Έλεγχος προόδου εργασιών ανα χρήστη σε μια βαση δεδομένων karajohnys Access - Ερωτήσεις / Απαντήσεις 2 23-01-15 23:55
[ Συναρτήσεις ] ΕΛΕΓΧΟΣ ΑΜΚΑ ΣΕ ΑCCESS ΤΖΙΜΗΣ Access - Ερωτήσεις / Απαντήσεις 3 07-10-11 14:07
[Γενικά] Έλεγχος Εγκυρότητας ΑΜΚΑ Tasos Excel - Tips & Tricks 0 05-10-11 19:00
Έλεγχος διπλοεγγραφής με κώδικα VBA pdhmos Access - Ερωτήσεις / Απαντήσεις 6 01-05-11 10:09
[ Φόρμες ] SOS_Πρόβλημα διπλοεγγραφής PanosPan Access - Ερωτήσεις / Απαντήσεις 3 02-03-11 11:59


Η ώρα είναι 10:15.