Μετάβαση στο κύριο περιεχόμενο
Υποστήριξη
Είσοδος με Microsoft
Είσοδος ή δημιουργία λογαριασμού.
Γεια σας,
Επιλέξτε διαφορετικό λογαριασμό.
Έχετε πολλούς λογαριασμούς
Επιλέξτε τον λογαριασμό με τον οποίο θέλετε να εισέλθετε.

Επιλέξτε οποιοδήποτε θέμα παρακάτω για να μάθετε περισσότερα σχετικά με τους Υπαλλήλους στην Έκδοση προγραμματιστών Northwind. 

Οι υπάλληλοι έχουν μία διαιρεμένη φόρμα που λειτουργεί ως λίστα και φόρμα λεπτομερειών. 

Χρησιμοποιήστε την επιλογή Υπάλληλοι για να προσθέσετε νέους υπαλλήλους και να ενημερώσετε πληροφορίες σχετικά με υπάρχοντες υπαλλήλους. 

Επιλέξτε την καρτέλα Υπάλληλοι στην κορδέλα για να εμφανίσετε τους υπαλλήλους στη φόρμα Λίστα υπαλλήλων, frmEmployeeList, η οποία είναι μια διαιρεμένη φόρμα με τις ακόλουθες δυνατότητες: 

  • Το επάνω μέρος της φόρμας είναι μια μεμονωμένη προβολή ενός υπαλλήλου.

  • Το κάτω μέρος της φόρμας είναι μια προβολή φύλλου δεδομένων όλων των υπαλλήλων.

  • Η επιλογή ενός υπαλλήλου σε οποιοδήποτε τμήμα εστιάζει επίσης στον υπάλληλο στο άλλο τμήμα της διαιρεμένης φόρμας.

  • Μπορείτε να προσθέσετε, να επεξεργαστείτε ή να διαγράψετε υπαλλήλους σε οποιοδήποτε τμήμα της διαιρεμένης φόρμας.

  • Η χρήση μιας διαιρεμένης φόρμας με το τμήμα προβολής φύλλου δεδομένων προϋποθέτει ότι η προέλευση εγγραφών της φόρμας έχει πολλές εγγραφές.

Πιθανές επιπτώσεις στις επιδόσεις μιας διαιρεμένης φόρμας 

Οι περισσότεροι προγραμματιστές προτιμούν να μην φορτώνουν έναν μη φιλτραρισμένο πίνακα ή ερώτημα ως προέλευση εγγραφών για μια φόρμα. Το φιλτράρισμα μιας φόρμας σε μία εγγραφή ελαχιστοποιεί την ποσότητα των δεδομένων που θα μεταφερθούν από τον πίνακα στη φόρμα. Με έναν τοπικό πίνακα της Access, η διαφορά μεταξύ της φόρτωσης μιας φιλτραρισμένης προέλευσης εγγραφών και μιας μικρής μη φιλτραρισμένης προέλευσης εγγραφών μπορεί να είναι ελάχιστα αισθητή. Ωστόσο, οι επιδόσεις αυτές χάνονται όταν οι πίνακες της Access αντικατασταθούν από μια απομακρυσμένη βάση δεδομένων που βασίζεται στο διακομιστή, όπως η SQL Server. 

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

ΕΠΕΞΕΡΓΑΣΊΑ ΥΠΑΛΛΉΛΩΝ

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

Πίνακες αναζήτησης, λίστες τιμών και στοιχεία ελέγχου αναπτυσσόμενης λίστας

  • Η αναπτυσσόμενη λίστα Τίτλοι περιορίζει τις καταχωρήσεις σε μια λίστα προ-επιλεγμένων τίτλων. Οι τίτλοι βρίσκονται σε έναν πίνακα αναζήτησης που ονομάζεται Τίτλοι.

  • Ορισμένες αναμενόμενες επιλογές είναι ήδη αποθηκευμένες στον πίνακα αναζήτησης, αλλά οι χρήστες μπορούν να προσθέσουν νέους τίτλους στον πίνακα αναζήτησης, χρησιμοποιώντας την προεπιλεγμένη συμπεριφορά της Access για το σύνθετο πλαίσιο ή τα στοιχεία ελέγχου αναπτυσσόμενης λίστας.

    • Η ιδιότητα Περιορισμός σε λίστα του σύνθετου πλαισίου Τίτλος ορίζεται σε Ναι και η φόρμα επεξεργασίας για τους τίτλους προσδιορίζεται στην ιδιότητα Επεξεργασία φόρμας στοιχείων λίστας. Η επιλογή της αναπτυσσόμενης λίστας στη φόρμα εμφανίζει το εικονίδιο επεξεργασίας στο κάτω άκρο. 
      ...

Κάνοντας κλικ στο εικονίδιο επεξεργασίας ανοίγει η φόρμα επεξεργασίας Τίτλοι , frmEmployeeTitles, όπου μπορείτε να αλλάξετε ή να προσθέσετε στη λίστα των εγκεκριμένων τίτλων. 

ΣΗΜΕΊΩΣΗ:Στα περισσότερα περιβάλλοντα παραγωγής, η επεξεργασία ή η προσθήκη τίτλων περιορίζονταν στους χρήστες με βελτιωμένα δικαιώματα.
 

πεδία αναζήτησης Self-Referential

Η συνάρτηση υπάλληλου απεικονίζει την έννοια ενός πεδίου αναγνωριστικού Self-Referential. Για την υποστήριξη του προσδιορισμού του προϊσταμένου ενός υπαλλήλου, ο πίνακας έχει ένα πεδίο SupervisorID με Κωδ Υπαλλήλουγια άλλους υπαλλήλους. Για να ορίσετε έναν επόπτη, το "Αναγνωριστικό υπαλλήλου " ενός άλλου υπαλλήλου καταχωρείται σε αυτό το πεδίο. Η Access επιβάλλει ακεραιότητα αναφορών σε αυτήν τη σχέση.

Το Αναγνωριστικό επόπτη εφαρμόζεται στη φόρμα υπαλλήλου ως αναπτυσσόμενο ή σύνθετο πλαίσιο. Η προέλευση γραμμής είναι ένα φιλτραρισμένο σύνολο εγγραφών από τον πίνακα "Υπάλληλος". Επειδή είναι αυτοαναφορική, το ερώτημα πρέπει να αποκλείει το Αναγνωριστικό υπαλλήλου του επιλεγμένου υπαλλήλου. Για παράδειγμα, η προέλευση γραμμής για το SupervisorID για την Employee Karen Finster δεν περιλαμβάνει το αναγνωριστικό υπαλλήλου της Karen. Δεν μπορεί να είναι ο προϊστάμενός της.

Πεδία και στοιχεία ελέγχου συνημμένου

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

ΣΗΜΕΊΩΣΗ: Συμπεριλάβαμε ένα πεδίο συνημμένου στον πίνακα "Υπάλληλος " για να απεικονίσουμε τη δυνατότητα στην Access. Οι ενσωματωμένες εικόνες αυξάνουν το μέγεθος των accdbs και, ως εκ τούτου, δεν θεωρούνται βέλτιστη πρακτική. Αξιολογήστε προσεκτικά το περιβάλλον σας πριν το εφαρμόσετε σε μια εφαρμογή παραγωγής. Η προτιμώμενη εναλλακτική λύση είναι ένας φάκελος δικτύου που αποθηκεύει όλες τις εικόνες και μια σύνδεση σε ένα πεδίο κειμένου στον πίνακα που περιέχει τη διαδρομή προς την εικόνα και όχι το πεδίο Συνημμένο.

Δευτερεύουσα φόρμα με σχετικές πληροφορίες

Η δευτερεύουσα φόρμα "Παραγγελίες" (στη δεξιά πλευρά της φόρμας "Υπάλληλος") εμφανίζει τις πρόσφατες παραγγελίες (εάν υπάρχουν) που χειρίζεται ο εργαζόμενος. Η δευτερεύουσα φόρμα παραθέτει τις παραγγελίες στην Προβολή φύλλου δεδομένων, ταξινομημένες από τη νεότερη προς την παλιότερη. Για να επεξεργαστείτε μια υπάρχουσα παραγγελία για τον συγκεκριμένο υπάλληλο, κάντε κλικ στην υπερ-σύνδεση Αναγνωριστικό παραγγελίας # στη δευτερεύουσα φόρμα "Παραγγελίες".

Προέλευση εγγραφών φόρμας υπαλλήλου

Ένα ερώτημα που ονομάζεται qryEmployees επιστρέφει τις εγγραφές στη φόρμα. Η χρήση ενός ερωτήματος και όχι του πίνακα θεωρείται συνήθως βέλτιστη πρακτική. Το ερώτημα επιστρέφει εγγραφές από έναν μόνο πίνακα. Επιπλέον, ένα ερώτημα μπορεί να παραμετροποιηθεί για να περιορίσετε τον αριθμό των εγγραφών που επιστρέφονται. 

  • Ο όρος Select αυτού του ερωτήματος χρησιμοποιεί τον χαρακτήρα μπαλαντέρ '*' για να επιστρέψει όλα τα πεδία από τον πίνακα "Υπάλληλος".

  • Δύο υπολογιζόμενα πεδία στο ερώτημα επιστρέφουν "Όνομα Επώνυμο " και "Επώνυμο", "Όνομα".
     

Υπολογισμένες τιμές σε στοιχεία ελέγχου

ΣΗΜΕΊΩΣΗ: Τα πεδία υπολογισμού δεν αποθηκεύονται στον πίνακα. Ωστόσο, είναι διαθέσιμα στην προέλευση εγγραφών της φόρμας.

Τα περισσότερα στοιχεία ελέγχου στη φόρμα "Υπάλληλος" είναι ενεργοποιημένα , ώστε να μπορείτε να τα επιλέξετε με το ποντίκι ή με το πλήκτρο Tab και να μην είναι κλειδωμένα , ώστε να είναι επεξεργάσιμα. 

Εκτός από την ενσωματωμένη συμπεριφορά της Access, οι δευτερεύουσες και οι συναρτήσεις VBA σε φόρμες, τα στοιχεία ελέγχου σε φόρμες και οι μεμονωμένες λειτουργικές μονάδες εκτελούν τη βασική λογική που απαιτείται για τους υπαλλήλους. Η παρακάτω ενότητα περιγράφει τις συναρτήσεις και τον κώδικα που υλοποιεί αυτές τις συναρτήσεις. 

Ενσωματωμένη ενέργεια ελέγχου

Η προεπιλεγμένη συμπεριφορά του επιλογέα εγγραφών της φόρμας: 

  • Κάνοντας αριστερό κλικ στον επιλογέα εγγραφών στα αριστερά μιας φόρμας σε μία προβολή αποθηκεύεται η τρέχουσα εγγραφή με οποιεσδήποτε αλλαγές. Η αποθήκευση κάνοντας αριστερό κλικ στον επιλογέα εγγραφών ενεργοποιεί τα κατάλληλα δευτερεύοντα και συναρτήσεις VBA.

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

  • Οι επιλογείς εγγραφών πρέπει να είναι ενεργοποιημένα για να είναι διαθέσιμη μια φόρμα για να είναι διαθέσιμη αυτή η προεπιλεγμένη συμπεριφορά.
     

Ακεραιότητα αναφορών για εγγραφές στη φόρμα

Η ακεραιότητα αναφορών δεν επιτρέπει τη διαγραφή υπαλλήλων που έχουν θυγατρικές εγγραφές σε σχετικούς πίνακες. Επομένως, η Access προκαλεί σφάλμα εάν ένας χρήστης προσπαθήσει να διαγράψει μια εγγραφή με θυγατρικές εγγραφές. Η Access φόρμας υπαλλήλου Northwind αντικαθιστά τα γενικά, προεπιλεγμένα μηνύματα σφάλματος σχετικά με την ακεραιότητα αναφορών με προσαρμοσμένα μηνύματα.

Ο κώδικας στη διαδικασία Delete της φόρμας αποκρίνεται σε προσπάθειες είτε αποκοπής μιας εγγραφής από το μενού δεξιού κλικ είτε διαγραφής μιας εγγραφής με χρήση του πλήκτρου Delete

Μια ιδιωτική συνάρτηση, η ιδιότητα EmployeeCanBeDeleted, ελέγχει για σχετικές εγγραφές για αυτόν τον υπάλληλο στους πίνακες Παραγγελίες, Παραγγελίες αγοράς, Υπάλληλοι και Δικαιώματα υπαλλήλου

Εάν βρεθούν, αυτή η συνάρτηση αποκρύπτει το προεπιλεγμένο μήνυμα σφάλματος και ενημερώνει το χρήστη για το λόγο για τον οποίο δεν είναι δυνατή η διαγραφή της εγγραφής χρησιμοποιώντας το ίδιο γενικό παράθυρο διαλόγου που χρησιμοποιεί η φόρμα πελάτη για να ειδοποιήσει το χρήστη για το λόγο για τον οποίο δεν μπορεί να διαγραφεί ο Πελάτης.

Επικύρωση

Οι υπάλληλοι υλοποιούν επικύρωση και τυπική διαχείριση σφαλμάτων. Υπάρχουν δύο τύποι επικύρωσης για στοιχεία ελέγχου.

  • Απαιτούμενα πεδία

  • Τυπικές μορφές

Απαιτούμενη επικύρωση πεδίου

 Απαιτούνται τρία πεδία για όλους τους υπαλλήλους:

  • Όνομα

  • Επώνυμο

  • Θέση στην εργασία

Σε αυτήν την έκδοση προγραμματιστή, το συμβάν Before Update της φόρμας επικυρώνει τα απαιτούμενα πεδία. Εάν ένας χρήστης προσπαθήσει να αποθηκεύσει μια εγγραφή υπαλλήλου χωρίς τιμές για ένα ή περισσότερα απαιτούμενα πεδία που δεν διαθέτουν επικύρωση τιμής, ακυρώνει την αποθήκευση και επισημαίνει τυχόν απαιτούμενα πεδία που δεν έχουν τιμή. Στη φόρμα "Υπάλληλος" στο Northwind, η απαιτούμενη επικύρωση πεδίου αντιμετωπίζεται από το συμβάν Before Update της φόρμας και όχι από τα μεμονωμένα στοιχεία ελέγχου.

Το συμβάν Before Update της φόρμας υπαλλήλου επικυρώνει την παρουσία τιμών για τα τρία απαιτούμενα πεδία. Η αποθήκευση μιας νέας ή επεξεργασμένης εγγραφής υπαλλήλου ενεργοποιεί το συμβάν Before Update της φόρμας, το οποίο καλεί τις δημόσιες συναρτήσεις που ελέγχουν και ανταποκρίνονται στην παρουσία ή την απουσία των απαιτούμενων τιμών.

Η λειτουργική μονάδα modValidation περιέχει τις εξής συναρτήσεις:

  • Φόρμα Validate

  • IsValidForm

  • HighlightInvalidControls

  • HighlightControl

  • ValidateForm_RemoveHighlights

Διαχείριση νέων υπαλλήλων

Κάνοντας κλικ στο κουμπί Προσθήκη υπαλλήλου, εκτελείται η ιδιωτική δευτερεύουσα btnNewEmployee_Click για να κάνετε τα εξής: 

  • αποθήκευση της τρέχουσας εγγραφής και

  • Ορισμός της εστίασης της φόρμας σε νέα εγγραφή
    '

Χαρακτήρας μπαλαντέρ έναντι καθορισμένων πεδίων σε ένα ερώτημα επιλογής

Ο όρος SELECT στους qryEmployees χρησιμοποιεί το χαρακτήρα μπαλαντέρ "*" για να επιλέξει ΟΛΑ τα πεδία στον πίνακα. Η σχεδίαση του ερωτήματος μπαλαντέρ περιλαμβάνει αυτόματα οποιαδήποτε πεδία που προστέθηκαν πρόσφατα από έναν υποκείμενο πίνακα, κάτι που δεν είναι δυνατό με μια λίστα συγκεκριμένων πεδίων. Από την άλλη, ένα μπορεί να παραθέτει συγκεκριμένα πεδία για να περιορίσει το σύνολο εγγραφών που επιστρέφεται μόνο στα πεδία που απαιτούνται σε μια φόρμα μόνο εμφάνισης, για παράδειγμα.

Κατάλληλες επιλογές σχεδίασης

Τα σχέδιά σας θα πρέπει να βασίζονται στην κατάλληλη προσέγγιση για τις απαιτήσεις σας. Αν και, όταν είναι εφικτό, η προτίμηση θα προωθηθεί κανονικά στην προσέγγιση που είναι λιγότερο πιθανό να απαιτήσει μελλοντική συντήρηση (δηλαδή, την προσέγγιση των χαρακτήρων μπαλαντέρ). 

Σύνθετα πλαίσια συνδεδεμένα με πίνακες αναζήτησης — Δύο προσεγγίσεις

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

Ένα σύνθετο πλαίσιο δύο στηλών με μια κρυφή στήλη αναγνωριστικού και μια ορατή στήλη "Περιγραφή" το κάνει να λειτουργεί. Στη φόρμα υπαλλήλου, το σύνθετο πλαίσιο "Επόπτης" είναι δεσμευμένο σε ένα απλό ερώτημα δύο στηλών. Ανατρέξτε στην ιδιότητα RowSource για τον Επόπτη.

Σε ορισμένες περιπτώσεις, ωστόσο, ένας πίνακας αναζήτησης δεν έχει ξεχωριστό πρωτεύον κλειδί και, επομένως, η ίδια η τιμή κειμένου είναι το πρωτεύον κλειδί.

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

Στη φόρμα "Υπάλληλος", το σύνθετο πλαίσιο Τίτλος είναι δεσμευμένο σε ένα ερώτημα μίας στήλης με τίτλους. Ανατρέξτε στην ιδιότητα RowSource για τους τίτλους. 

Χρειάζεστε περισσότερη βοήθεια;

Θέλετε περισσότερες επιλογές;

Εξερευνήστε τα πλεονεκτήματα της συνδρομής, περιηγηθείτε σε εκπαιδευτικά σεμινάρια, μάθετε πώς μπορείτε να προστατεύσετε τη συσκευή σας και πολλά άλλα.

Οι κοινότητες σάς βοηθούν να κάνετε και να απαντάτε σε ερωτήσεις, να δίνετε σχόλια και να ακούτε από ειδικούς με πλούσια γνώση.

Σας βοήθησαν αυτές οι πληροφορίες;

Πόσο ικανοποιημένοι είστε με τη γλωσσική ποιότητα;
Τι επηρέασε την εμπειρία σας;
Πατώντας "Υποβολή" τα σχόλια σας θα χρησιμοποιηθούν για τη βελτίωση των προϊόντων και των υπηρεσιών της Microsoft. Ο διαχειριστής IT θα έχει τη δυνατότητα να συλλέξει αυτά τα δεδομένα. Δήλωση προστασίας προσωπικών δεδομένων.

Σας ευχαριστούμε για τα σχόλιά σας!

×