Εμφάνιση ενός μόνο μηνύματος
  #14  
Παλιά 28-10-10, 22:48
Το avatar του χρήστη nisgia
nisgia Ο χρήστης nisgia δεν είναι συνδεδεμένος
Super Moderator
Όνομα: Γιάννης
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 12-10-2009
Περιοχή: Ηγουμενίτσα
Μηνύματα: 161
Προεπιλογή

Να 'μαι και εγώ ο αργοπορημένος.

Καλησπέρα Ντόρα και γεια χαρά σε όλη τη παρέα!

Ξέρω, σε έστησα λιγάκι (και έχω πολλές δικαιολογίες γι' αυτό ) αλλά πιστεύω πως το συνημμένο παράδειγμα θα σε αποζημιώσει.
Φυσικά έχασα κάποια επεισόδια και βλέπω πως κάποιο από τα ερωτήματά σου βρήκε την απάντησή του με τη ευγενικά συνεισφορά του Γιώργου αλλά στο συνημμένο θα βρείς εκτός του δυναμικού περιορισμού των εγγραφών των σύνθετων πλαισίων, παραδείγματα εφαρμογής και για τα άλλα ερωτήματά σου όπως η επισήμανση των ανενεργών (και όχι μόνο) προϊόντων και άνοιγμα φορμών με στοιχεία του επιλεγμένου αντικειμένου.

Στη βάση του διατηρούνται πληροφορίες για εταιρίες, κατηγορίες προϊόντων, προϊόντα, συμβάντα προϊόντων και λεπτομέρειες συμβάντων προϊόντων.

Στις φόρμες "frmNewProduct", "sfrmEventDetails" και "sfrmCompanyCategories" παρουσιάζεται ο τρόπος με τον οποίο περιορίζουμε τις εγγραφές ενός σύνθετου πλαισίου με βάση την τιμή ενός άλλου.
Παρατήρησε τις προελεύσεις εγγραφών των σύνθετων πλαισίων αυτών των φορμών και ειδικά των κατηγοριών και προϊόντων (ειδικά στη φόρμα "sfrmEventDetails") αλλά και τις διαδικασίες "AfterUpdate" των πλαισίων στις μονάδες κώδικα της κάθε φόρμας.

Από τη φόρμα "frmProductActivities" μπορείς να αντλήσεις αρκετά χρήσιμα πράγματα.
Σε αυτή τη φόρμα υλοποιείται η επισήμανση των ανενεργών (και όχι μόνο) προϊόντων με χρήση της μορφοποίησης υπό όρους αλλά και η εμφάνιση σχετικών πληροφοριών για τα προϊόντα και τις κινήσεις τους σε ξεχωριστές φόρμες/παράθυρα διαλόγου.
Για παράδειγμα, αν βρίσκεσαι στο πεδίο "Κίνηση" ενός προϊόντος και πατήσεις στο κουμπί λεπτομερειών στα δεξιά (ή Enter), μεταφέρεσαι στη φόρμα "Συμβάντα" (frmEvents) ώστε να δεις τα στοιχεία του συμβάντος της επιλεγμένης ημερομηνίας.
Αν όμως βρίσκεσαι σε κάποιο άλλο πεδίο, η ίδια διαδικασία θα σε μεταφέρει στη φόρμα "Λεπτομέρειες προϊόντων" (frmProductDetails) ώστε να δεις και να επεξεργαστείς τα στοιχεία του επιλεγμένου προϊόντος.

Το ίδιο μπορεί να γίνει και για τις εταιρίες, τις κατηγορίες και τα προϊόντα μέσα από τη φόρμα "frmNewProduct" πατώντας στις αντίστοιχες "υπερσυνδέσεις".

Εκείνο όμως που έχει αρκετή σημασία, είναι το ερώτημα στο οποίο βασίζεται η φόρμα "frmProductActivities" (ερώτημα "qryProductActivities") και ο τρόπος με τον οποίο συλλέγονται οι απαιτούμενες πληροφορίες από τους διάφορους και σχετικούς πίνακες.

Εκεί που σπάω τους κανόνες σχεδιασμού των πινάκων είναι η περίπτωση του πίνακα "tblEventDetails".
Εκεί θα δεις πως εκτός των πεδίων της κίνησης, διατηρώ και τα πεδία ονομάτων των εταιριών, των κατηγοριών και των προϊόντων.
Κανονικά δεν θα πρέπει να βρίσκονται εκεί διότι η παρουσία τους εγκυμονεί κινδύνους σύγχυσης αλλά ο ρόλος τους είναι να "αγκυρώνονται" τα σύνθετα πλαίσια της φόρμας "sfrmEventDetails" σε αυτές τις στήλες και να παρουσιάζουν τις σωστές τιμές κάθε εγγραφής.
Διαφορετικά, λόγω του ότι βρίσκονται σε φύλλο δεδομένων, η λειτουργία τους δεν είναι η λογικά αποδεκτή.

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

Ελπίζω όμως όλα αυτά να προσθέσουν αρκετές ιδέες στη φαρέτρα σου και να μην σε μπερδέψουν περισσότερο φέρνοντας τα αντίθετα αποτελέσματα.

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

Τα λέμε λοιπόν!
Γιάννης
Συνημμένα Αρχεία
Τύπος Αρχείου: zip xmplCompanyProducts.zip (103,1 KB, 20 εμφανίσεις)
__________________
Αν δεν το ρωτούσες, δεν θα το μαθαίναμε ποτέ...!
-----------------------------------------------
Τελικά η γνώση, αντίθετα με ό,τι μέχρι σήμερα πίστευα, είναι η φυλακή της σκέψης.
Όταν η αφετηρία είναι η ελεύθερη σκέψη, δεν χρειάζεται πλέον να φτάσεις πουθενά!
Απάντηση με παράθεση