![]() |
Flickering στην Ενεργοποίηση / Απενεργοποίηση σελίδων καρτέλας Γεια σας και πάλι Έχω μια κεντρική φόρμα "Patients Details" με ένα στοιχείο ελέγχου καρτέλας (tabcontrol) με 16 σελίδες (οι 14 τελευταίες βασίζονται σε υποφόρμες) Προσπαθώ έτσι ώστε όταν φορτώνεται η κεντρική φόρμα (Patients Details): - σε περίπτωση που την ανοίγω για επεξεργασία μιας εγγραφής να είναι ενεργοποιημένες όλες οι σελίδες - σε περίπτωση που την ανοίγω και δεν είναι καταχωρημένη κάποια εγγραφή να είναι απενεργοποιημένες όλες οι σελίδες εκτός από την πρώτη σελίδα (General_Page) Επίσης στην κεντρική φόρμα: - σε περίπτωση που επιλέγω νέα εγγραφή (κουμπί με ενσωματωμένη μακροεντολή) να απενεργοποιούνται όλες οι σελίδες εκτός από την πρώτη - σε περίπτωση που εισάγω οτιδήποτε στο πεδίο "Last Name" (στην πρώτη καρτέλα) να ενεργοποιούνται όλες οι υπόλοιπες σελίδες. Τα κατάφερα σχετικά με τα εξής: Στην κεντρική φόρμα: Private Sub Form_Current() 'ξεκίνημα από την 2η σελίδα Me.tabContacts.Pages("Medical_and_Social_Info_Page ").Enabled = Not Me.NewRecord Me.tabContacts.Pages("ICD_10_Diagnosis_Page").Enab led = Not Me.NewRecord Me.tabContacts.Pages("Procedures_Page").Enabled = Not Me.NewRecord '......... ακολουθούν οι υπόλοιπες σελίδες End Sub Και στην πρώτη αελίδα στο πεδίο Last Name: Private Sub Last_Name_AfterUpdate() If Last_Name <> "" Then 'ξεκίνημα από την 2η σελίδα Medical_and_Social_Info_Page.Enabled = True ICD_10_Diagnosis_Page.Enabled = True Procedures_Page.Enabled = True '......... ακολουθούν οι υπόλοιπες σελίδες Else 'ξεκίνημα από την 2η σελίδα Medical_and_Social_Info_Page.Enabled = False ICD_10_Diagnosis_Page.Enabled = False Procedures_Page.Enabled = False '......... ακολουθούν οι υπόλοιπες σελίδες End If End Sub Νομίζω όμως οτι δεν κάτι δεν πάει καλά με την προσέγγιση αυτή διότι σε κάθε ενεργοποίηση ή απενεργοποίηση των σελίδων οι ετικέτες τους αναβοσβήνουν (flickering;) πολλές φορές και αρκετά ενοχλητικά. Υπάρχει λύση; Ευχαριστώ εκ των προτέρων Δημήτρης |
Καλησπέρα Η 2007 κάνει κάτι τέτοια. Πρώτη σου δουλειά να καθαρίσεις τα σκουπίδια (Συμπύκνωση και επιδιόρθωση).Δεν είναι καλή ιδέα σε κάθε "Form_Current" να επαναλαμβάνεις τα ίδια και τα ίδια. Τουλάχιστον αν θες μια σελίδα ενεργή, δες πρώτα αν ήδη είναι και μετά ζήτησε την ενεργοποίησή της. Νομίζω οτι το έχεις... Νίκος Δ. |
Το ερώτημα παραμένει 1 Συνημμένο(α) Καλημέρα σε όλους Παραθέτω εδώ ένα δείγμα της βάσης μου για την καλύτερη κατανόηση του προβλήματος Το ερώτημα παραμένει: Πως μπορούμε με κριτήριο την τιμή ενός πεδίου σε μια Tab Page μιας καρτέλας, να ενεργοποιούμε/απενεργοποιούμε τις υπόλοιπες Tab Pages της καρτέλας χωρίς flickering; Για να δείτε το πρόβλημα: στη φόρμα Patient Details πατήστε το κουμπί "New Patient" Με εκτίμηση Δημήτρης Υ.Γ Η db είναι σε Access 2010 |
Καλημέρα Δημήτρη, αν στην αρχή των διαδικασιών που αλλάζουν την κατάσταση των καρτελών, απενεργοποιήσεις τη σχεδίαση της φόρμας (Me.Painting = False) και την ενεργοποιήσεις στο τέλος (Me.Painting = True), έχω τη γνώμη ότι θα περιοριστεί το τρεμόπαιγμα. Φιλικά/Γιώργος |
Έγινε...! Είχα δοκιμάσει σχεδόν τα πάντα εκτός από το Me.Painting = True/False Μαθαίνω σιγά σιγά Με μερικές τροποποιήσεις ακόμη το flickering της φόρμας δεν φαίνεται σχεδόν καθόλου Ευχαριστώ και πάλι Με εκτίμηση Δημήτρης |
| Η ώρα είναι 09:02. |
Ms-Office.gr - ©2000 - 2026, Jelsoft Enterprises Ltd.