Εμφάνιση ενός μόνο μηνύματος
  #3  
Παλιά 26-06-19, 08:33
Το avatar του χρήστη Spirosgr
Spirosgr Ο χρήστης Spirosgr δεν είναι συνδεδεμένος
Συντονιστής
Όνομα: Σπύρος Τσιλιγιάννης
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2007, Ms-Office 2010, Ms-Office 2013, Ms-Office 2016, Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 22-11-2011
Περιοχή: Αθήνα
Μηνύματα: 2.321
Προεπιλογή

Καλημέρα
Στον αρχικό κώδικα του Γιώργου:
Όσες δοκιμές κι αν έκανα, με ημερομηνίες πριν το 1950, δεν υπάρχει σφάλμα.
Πάντα αποδίδει σωστά* την ηλικία.

Ο έλεγχος του Len σωστά προστέθηκε από τον Χρήστο, αν και η εφαρμογή
θα μπορούσε να δουλέψει και με τα έξι πρώτα ψηφία
μιας και σκοπός είναι ο υπολογισμός ηλικίας...

Τώρα
Το σωστά το έχω με αστερίσκο, διότι αν έχουμε παράδειγμα 100180...αποδίδει 38
Δεν ξέρω αν αυτό είναι επιθυμητό, ή αν πρέπει να αποδίδει 39.
Ανάλογα τι θέλετε ή τι θεωρείτε σωστό, μπορείτε να βάλετε στον υπολογισμό:
Κώδικας:
Label.Caption=(...)  +1 
ή και
Κώδικας:
Label3.Caption = Year(Date) - Year(TextBox2.Value)
Στο Click του «Καθαρισμός» και οι δύο κώδικες, αφήνουν το TextBox2 «Γεμάτο»
ενώ θα πρέπει να «Καθαρίσει»

Η εγκυρότητα του ΑΜΚΑ, είναι μια περίπτωση που πρέπει να ελεγχθεί
αν αυτό χρειάζεται τελικά,
αλλά αυτό είναι άλλο και μεγάλο κεφάλαιο...

Το κουμπί «Κλείσιμο», είναι άστοχο ως προς την ονομασία και μπερδεύει τον χρήστη.
Θα μπορούσε να έχει πιο σωστά ,ένα κώδικα πίσω του, που κλείνει απλά την φόρμα:
Κώδικας:
Unload Me
και να υπάρχει άλλο κουμπί με: «Έξοδος Από Την Εφαρμογή»
για πλήρη έξοδο...
Μπορούμε ακόμα να εξαφανίσουμε το κουμπί Χ της φόρμας...

Όμως
Αυτό που υπάρχει πίσω από το υπάρχον κουμπί:
Κώδικας:
Private Sub cmdClose_Click()
    ThisWorkbook.Close SaveChanges:=True
    Application.Quit
End Sub
ίσως κάποιες φορές (όχι πάντα, αλλά υπάρχει)
δημιουργήσει πρόβλημα, κλείνοντας και άλλα ανοιχτά βιβλία
με αποτέλεσμα, να χάσουμε δεδομένα...
Καλύτερα να βάλετε:
Κώδικας:
Private Sub cmdClose_Click()
    Dim i           As Integer
    i = Workbooks.Count
    If i > 1 Then
        ThisWorkbook.Close SaveChanges:=True
    Else
        ThisWorkbook.Close SaveChanges:=True
        Application.Quit
    End If
End Sub
Απάντηση με παράθεση