
28-09-10, 23:56
|
| Super Moderator Όνομα: Αγγελος Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2007 Γλώσσα λογισμικού Office: Ελληνική, Αγγλική | | Εγγραφή: 29-04-2010
Μηνύματα: 111
| |
Χρήστο καλησπέρα,
Υποθέτω πως εισάγεις στην φόρμα σου κάποια είδη απο κάποιον άλλο πίνακα.
Μπορείς να κάνεις το παρακάτω: Εάν ο εγγραφές σου είναι μέσα σε κάποιο ComboBox:
1 - Όρισε ένα πεδίο Ναι/Οχι στον πίνακα των ειδών σου (θα το ονομάσω "Active")
2 - Προσδιόρισε σε ποιά κατάσταση θα έχεις το πεδίο "Active" για κάθε εγγραφή του πίνακα "Είδη"
3 - Μέσα στην φόρμα σου στην "Προέλευση εγγραφών" του Combobox όρισε ως φίλτρο (χωρίς να το εμφανίζεις στην λίστα σου) το πεδίο "Active" στην κατάσταση που επιθυμείς (True ή False)
4 - Τελείωσες, το ComboBox θα σου εμφανίζει μόνο τις τιμές που έχεις ορίσει στο φίλτρο του ComboBox
Με τον τρόπο αυτό μεν, ενημερώνεις τις εγγραφές σου με τα πεδία που υπάρχουν διαθέσιμα (βάση φίλτρου) απο το ComboBox και δεν εξαφανίζεις τις εγγραφές που έκανες στην φόρμα σου πριν απο το μαρκάρισμα του είδους ως "Ανενεργο" (Active = True). Εάν είναι μια απλή φόρμα:
1 - Όρισε ένα πεδίο Ναι/Οχι σε έναν πίνακα που υπάρχει στο DataSource της φόρμας σου (θα το ονομάσω "Active")
2 - Πρόσθεσε αυτό το πεδίο στην φόρμα σου
3 - Βάλε 1 Unbound CheckBoxe στην φόρμα σου (ονόμασέτο ένα "Open_Closed)
4 - Στο Ερώτημα του DataSource στο πεδίο "Active" βάλε το κριτήριο:
Iif([φορμα]!Active=True;True;False)
Στην ουσία αλλάζεις τις εγγραφές του ερωτήματός σου βάση του τι είναι επιλεγμένο στο Unbound CheckBox που έχεις στην φόρμα σου.
4 - Στο Event AfterUpdate του unbound CheckBox βάλε το εξής :
me.Form.Requery
Μόλις θα κάνεις το παραπάνω τσεκάρωντας ή ξετσεκάρωντας το CheckBox επιλέγεις ποιές εγγραφές θέλεις να δεις (τις ενεργές ή τις ανενεργές) και ξαναυπολογίζει την φόρμα σου βάση της επιλογής σου.
P.S. Sorry αν κάπου σε μπερδεύω αλλά είμαι για ύυυυυυυυπνουςςςς.....!!
Φιλικά,
Άγγελος
__________________
Always Look on the Bright Side of Life!
|