Access - Ερωτήσεις / Απαντήσεις Access + VBA... Εδώ δεν υπάρχουν όρια! |
| Εργαλεία Θεμάτων | Τρόποι εμφάνισης |
#1
| |||
| |||
Εμφάνιση Συγκεκριμένων Εγγραφών στην Φόρμα.
Βασικά δεν ξέρω εάν είναι εφικτό μέσα σε μια φόρμα να μην προβάλλονται όλες οι εγγραφές.. Να γίνω πιο συγκεκριμένος έστω ότι έχω 50 εγγραφές από αυτές ενεργές είναι οι 40 οι 10 αποτελούν παρελθόν (τις οποίες δεν θέλουμε να διαγράψουμε, αλλά ούτε να σκοντάφτουμε συνέχεια πάνω τους). Μπορώ μέσα στον πίνακα που υπάρχουν τα στοιχεία να έχω ένα πεδίο όπου ας πούμε θα αναφέρει ΝΑΙ η ΟΧΙ και με ένα πλήκτρο πάνω στην Φόρμα να φαίνονται όλες οι εγγραφές οι μόνο οι ενεργές.. Είναι πραγματοποιήσιμο κάτι τέτοιο… |
#2
| ||||
| ||||
Καλησπέρα ... Αγαπητέ Χρήστο, αυτή τη στιγμή με αυτό το θέμα ασχολούμαι σε μια εφαρμογή. Φτιάξε ένα κουμπί στη φόρμα σου και βάλε τον κώδικα Κώδικας: Private Sub Εντολή36_Click() If me.Filter = "[Τωρα] = 'Ναι'" Then me.Filter = "" Me.Εντολή36.Caption = "Απόκρυψη..." Else me.Filter = "[Τωρα] = 'Ναι'" Me.Εντολή36.Caption = "Εμφάνιση..." End If me.FilterOn = True End Sub Δοκιμάζεις - δοκιμάζω στα δικά μου και τα λέμε / Νίκος Δ. Υστερολόγιο: Το κουμπί μου είναι το Εντολή36. |
#3
| |||
| |||
Χρήστο καλησπέρα, Υποθέτω πως εισάγεις στην φόρμα σου κάποια είδη απο κάποιον άλλο πίνακα. Μπορείς να κάνεις το παρακάτω: Εάν ο εγγραφές σου είναι μέσα σε κάποιο 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! |
#4
| |||
| |||
Παράθεση:
Αγγελε το βράδι θα δοκιμάσω το παραπάνω ( τώρα είμαι δουλειά δεν μπορώ) αν και δεν το πολυκατάλαβα με ζορίζει λίγο Το 4 και το 4 αλλά θα το προσπαθήσω... |
#5
| |||
| |||
Καλημέρα στην παρέα Στη βάση δεδομένων που επισυνάπτω παρουσιάζω μια απλή περίπτωση εφαρμογής φίλτρου που νομίζω ότι καλύπτει τις ανάγκες του Χρήστου. Η βάση αποτελείται από ένα πίνακα πελατών «tblCustomers» που περιέχει και ένα πεδίο «Active» τύπου Ναι/Όχι, για να διακρίνει τους πελάτες σε ενεργούς και μη και από μία φόρμα «frmCustomers». Επειδή θέλουμε η φόρμα να φιλτράρει τους πελάτες και να δείχνει μόνο τους ενεργούς:
Me.FilterOn = Me.chkFilter End Sub Προσθήκη: Αν χρησιμοποιήσουμε για την εφαρμογή ή την κατάργηση του φίλτρου το μενού (Εγγραφές > Εφαρμογή/Κατάργηση φίλτρου) ή το κουμπί της γραμμής εργαλείων Εφαρμογή/Κατάργηση φίλτρου (αυτό με το χωνί), οι ενέργειες 2 και 3 δε χρειάζονται. Φιλικά/Γιώργος Τελευταία επεξεργασία από το χρήστη kapetang : 29-09-10 στις 15:08. Αιτία: Πρόσθεσα την προσθήκη |
#6
| |||
| |||
Πάνω στο πολύ καλό παράδειγμα του Γιώργου, και ο τρόπος που ανέλυσα παραπάνω... Φιλικά, Άγγελος PS: Έχουμε λαό καλό και επίπεδο γ@μ@το στο Forum λέμεεεεεεε!!! Ότι θες! Όπως το θές! και με 10+ διαφορετικούς τρόπους!!!
__________________ Always Look on the Bright Side of Life! |
#7
| ||||
| ||||
Καλημέρα... Με άρεσαν οι προσεγγίσεις του Γιώργου και του Άγγελου. Μοντέρνος κώδικας.Θα τον χρησιμοποιήσω. Χρήστο ο κώδικας που ανέβασα, τον έχω προσαρμόσει -όπως φαίνεται παρακάτω και δουλεύει ! Κώδικας: Private Sub Εντολή48_Click() < ...κώδικας> Select Case Me.Filter Case "" Me.Filter = "[Επιλογη] = true" Me.Εντολή48.Caption = "Όλοι οι μαθητές" Case "[Επιλογη] = true" Me.Filter = "" Me.Εντολή48.Caption = "Επιλογή μαθητών" End Select Me.FilterOn = True End Sub |
#8
| |||
| |||
Πέτυχε ... Αυτή η ψευτοεφαρμογή που κάνω είναι η τρίτη το συγκεκριμένο πρόβλημα με απασχολούσε και στην πρώτη και λύθηκε τώρα... Ευχαριστώ τους φίλους " Γιώργο, Νίκο και Αγγελο " που ασχολήθηκαν με το πρόβλημα μου... Τώρα όσπου να τελειώσο πόσες φορές θα φωνάξω HELP δέν ξέρω.. Πάντως για άλλη μια φορά ευχαριστώ... |
#9
| |||
| |||
Καλημέρα στην παρέα Άγγελε δοκιμάζοντας το παράδειγμα που ανέβασες διαπίστωσα ότι στη φόρμα δεν είναι δυνατή η εμφάνιση όλων των εγγραφών (ενεργών και μη). Φιλικά/Γιώργος |
#10
| |||
| |||
Μια μικρή παραλαγή για να καλύψουμε και αυτήν την περίπτωση...
__________________ Always Look on the Bright Side of Life! |
« Προηγούμενο Θέμα
|
Επόμενο Θέμα »
| |
Παρόμοια Θέματα | ||||
Θέμα | Δημιουργός | Forum | Απαντήσεις | Τελευταίο Μήνυμα |
[ Φόρμες ] Εμφάνιση μηνύματος σε εντοπισμό ίδιων εγγραφών (σε φόρμα με διάταξη πίνακα) | dimitrisp | Access - Ερωτήσεις / Απαντήσεις | 2 | 16-03-16 22:20 |
[ Φόρμες ] Κλείδωμα συγκεκριμένων εγγραφών σε φόρμα | ΤΙΜΟΣ | Access - Ερωτήσεις / Απαντήσεις | 4 | 10-12-15 17:47 |
[Συναρτήσεις] εμφάνιση με vlookup συγκεκριμένων κελιών | pierta | Excel - Ερωτήσεις / Απαντήσεις | 10 | 25-10-15 12:56 |
Αυτόματη εμφάνιση εγγραφών σε φόρμα Access | balex | Access - Ερωτήσεις / Απαντήσεις | 8 | 16-07-10 19:18 |
[ Φόρμες ] Εμφάνιση συνόλων υποφόρμας στην κύρια φόρμα | mdragon | Access - Ερωτήσεις / Απαντήσεις | 5 | 14-04-10 11:01 |
Η ώρα είναι 08:35.