Forum

Αναζήτηση στο ms-office.gr

Πάμε!
ms-office.gr > Forum > Microsoft Access > Access - Ερωτήσεις / Απαντήσεις > [ Φόρμες ] Εμφάνιση Συγκεκριμένων Εγγραφών στην Φόρμα.

Access - Ερωτήσεις / Απαντήσεις Access + VBA... Εδώ δεν υπάρχουν όρια!

Απάντηση στο θέμα

 

Εργαλεία Θεμάτων Τρόποι εμφάνισης
  #1  
Παλιά 28-09-10, 19:21
Όνομα: Χρήστος
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 24-01-2010
Περιοχή: Φλώρινα
Μηνύματα: 168
Προεπιλογή Εμφάνιση Συγκεκριμένων Εγγραφών στην Φόρμα.

Βασικά δεν ξέρω εάν είναι εφικτό μέσα σε μια φόρμα να μην προβάλλονται όλες οι εγγραφές..

Να γίνω πιο συγκεκριμένος έστω ότι έχω 50 εγγραφές από αυτές ενεργές είναι οι 40 οι 10 αποτελούν παρελθόν (τις οποίες δεν θέλουμε να διαγράψουμε, αλλά ούτε να σκοντάφτουμε συνέχεια πάνω τους).

Μπορώ μέσα στον πίνακα που υπάρχουν τα στοιχεία να έχω ένα πεδίο όπου ας πούμε θα αναφέρει ΝΑΙ η ΟΧΙ και με ένα πλήκτρο πάνω στην Φόρμα να φαίνονται όλες οι εγγραφές οι μόνο οι ενεργές..

Είναι πραγματοποιήσιμο κάτι τέτοιο…
Απάντηση με παράθεση
  #2  
Παλιά 28-09-10, 19:56
Το avatar του χρήστη Meteora
Συντονιστής
Όνομα: Νίκος
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 28-12-2008
Περιοχή: Θεσσαλονίκη
Μηνύματα: 1.085
Προεπιλογή

Καλησπέρα ...
Αγαπητέ Χρήστο, αυτή τη στιγμή με αυτό το θέμα ασχολούμαι σε μια εφαρμογή. Φτιάξε ένα κουμπί στη φόρμα σου και βάλε τον κώδικα
Κώδικας:
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  
Παλιά 28-09-10, 23:56
Super Moderator
Όνομα: Αγγελος
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 29-04-2010
Μηνύματα: 114
Thumbs up

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

Μπορείς να κάνεις το παρακάτω:

Εάν ο εγγραφές σου είναι μέσα σε κάποιο 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  
Παλιά 29-09-10, 06:22
Όνομα: Χρήστος
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 24-01-2010
Περιοχή: Φλώρινα
Μηνύματα: 168
Προεπιλογή

Παράθεση:
Αρχική Δημοσίευση από Dangel82 Εμφάνιση μηνυμάτων
Χρήστο καλησπέρα,

Εάν είναι μια απλή φόρμα:
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 αν κάπου σε μπερδεύω αλλά είμαι για ύυυυυυυυπνουςςςς.....!!

Φιλικά,

Άγγελος
Νίκο εχθές το βράδι έκανα κάποιες δοκιμές αλλά δεν κατάφερα τίποτα, μου έβγαζε σφάλμα..

Αγγελε το βράδι θα δοκιμάσω το παραπάνω ( τώρα είμαι δουλειά δεν μπορώ) αν και δεν το πολυκατάλαβα με ζορίζει λίγο Το 4 και το 4 αλλά θα το προσπαθήσω...
Απάντηση με παράθεση
  #5  
Παλιά 29-09-10, 10:03
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 18-06-2010
Μηνύματα: 3.204
Προεπιλογή

Καλημέρα στην παρέα

Στη βάση δεδομένων που επισυνάπτω παρουσιάζω μια απλή περίπτωση εφαρμογής φίλτρου που νομίζω ότι καλύπτει τις ανάγκες του Χρήστου.
Η βάση αποτελείται από ένα πίνακα πελατών «tblCustomers» που περιέχει και ένα πεδίο «Active» τύπου Ναι/Όχι, για να διακρίνει τους πελάτες σε ενεργούς και μη και από μία φόρμα «frmCustomers».
Επειδή θέλουμε η φόρμα να φιλτράρει τους πελάτες και να δείχνει μόνο τους ενεργούς:
  1. Στην ιδιότητα της φόρμας φίλτρο έβαλα τον τύπο: [Active]=-1 (προβολή σχεδίασης > ιδιότητες φόρμας > καρτέλα δεδομένα > ιδιότητα φίλτρο).
  2. Στην κεφαλίδα της φόρμας πρόσθεσα ένα πλαίσιο ελέγχου με όνομα «chkFilter» που καθορίζει αν θα εμφανίζονται όλοι οι πελάτες ή μόνο οι ενεργοί.
  3. Στο συμβάν με το κλικ του πλαισίου ελέγχου έβαλα τον κώδικα:
Private Sub chkFilter_Click()
Me.FilterOn = Me.chkFilter
End Sub
Προσθήκη: Αν χρησιμοποιήσουμε για την εφαρμογή ή την κατάργηση του φίλτρου το μενού (Εγγραφές > Εφαρμογή/Κατάργηση φίλτρου) ή το κουμπί της γραμμής εργαλείων Εφαρμογή/Κατάργηση φίλτρου (αυτό με το χωνί), οι ενέργειες 2 και 3 δε χρειάζονται.

Φιλικά/Γιώργος
Συνημμένα Αρχεία
Τύπος Αρχείου: mdb accAplyFilter.mdb (188,0 KB, 122 εμφανίσεις)

Τελευταία επεξεργασία από το χρήστη kapetang : 29-09-10 στις 14:08. Αιτία: Πρόσθεσα την προσθήκη
Απάντηση με παράθεση
  #6  
Παλιά 29-09-10, 10:49
Super Moderator
Όνομα: Αγγελος
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 29-04-2010
Μηνύματα: 114
Προεπιλογή

Πάνω στο πολύ καλό παράδειγμα του Γιώργου, και ο τρόπος που ανέλυσα παραπάνω...

Φιλικά,

Άγγελος

PS: Έχουμε λαό καλό και επίπεδο γ@μ@το στο Forum λέμεεεεεεε!!!
Ότι θες! Όπως το θές! και με 10+ διαφορετικούς τρόπους!!!

Συνημμένα Αρχεία
Τύπος Αρχείου: mdb accAplyFilter2.mdb (260,0 KB, 72 εμφανίσεις)
__________________
Always Look on the Bright Side of Life!
Απάντηση με παράθεση
  #7  
Παλιά 29-09-10, 16:45
Το avatar του χρήστη Meteora
Συντονιστής
Όνομα: Νίκος
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 28-12-2008
Περιοχή: Θεσσαλονίκη
Μηνύματα: 1.085
Προεπιλογή

Καλημέρα...
Με άρεσαν οι προσεγγίσεις του Γιώργου και του Άγγελου. Μοντέρνος κώδικας.Θα τον χρησιμοποιήσω.
Χρήστο ο κώδικας που ανέβασα, τον έχω προσαρμόσει -όπως φαίνεται παρακάτω και δουλεύει !

Κώδικας:
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  
Παλιά 29-09-10, 17:17
Όνομα: Χρήστος
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 24-01-2010
Περιοχή: Φλώρινα
Μηνύματα: 168
Προεπιλογή



Πέτυχε ...

Αυτή η ψευτοεφαρμογή που κάνω είναι η τρίτη το συγκεκριμένο πρόβλημα με απασχολούσε και στην πρώτη και λύθηκε τώρα...

Ευχαριστώ τους φίλους " Γιώργο, Νίκο και Αγγελο " που ασχολήθηκαν με το πρόβλημα μου...

Τώρα όσπου να τελειώσο πόσες φορές θα φωνάξω HELP δέν ξέρω..

Πάντως για άλλη μια φορά ευχαριστώ...
Απάντηση με παράθεση
  #9  
Παλιά 30-09-10, 08:01
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 18-06-2010
Μηνύματα: 3.204
Προεπιλογή

Καλημέρα στην παρέα
Άγγελε δοκιμάζοντας το παράδειγμα που ανέβασες διαπίστωσα ότι στη φόρμα δεν είναι δυνατή η εμφάνιση όλων των εγγραφών (ενεργών και μη).
Φιλικά/Γιώργος
Απάντηση με παράθεση
  #10  
Παλιά 30-09-10, 11:58
Super Moderator
Όνομα: Αγγελος
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 29-04-2010
Μηνύματα: 114
Προεπιλογή

Παράθεση:
Αρχική Δημοσίευση από kapetang Εμφάνιση μηνυμάτων
Καλημέρα στην παρέα
Άγγελε δοκιμάζοντας το παράδειγμα που ανέβασες διαπίστωσα ότι στη φόρμα δεν είναι δυνατή η εμφάνιση όλων των εγγραφών (ενεργών και μη).
Φιλικά/Γιώργος
Μια μικρή παραλαγή για να καλύψουμε και αυτήν την περίπτωση...
Συνημμένα Αρχεία
Τύπος Αρχείου: mdb accAplyFilter2.mdb (284,0 KB, 123 εμφανίσεις)
__________________
Always Look on the Bright Side of Life!
Απάντηση με παράθεση
Απάντηση στο θέμα

Εργαλεία Θεμάτων
Τρόποι εμφάνισης

Δικαιώματα - Επιλογές
Δε μπορείτε να δημοσιεύσετε νέα μηνύματα
Δε μπορείτε να δημοσιεύσετε απαντήσεις
Δεν μπορείτε να επισυνάψετε αρχεία
Δεν μπορείτε να επεξεργαστείτε τα μηνύματα σας

Ο κώδικας ΒΒ είναι σε λειτουργία
Τα Smilies είναι σε λειτουργία
Ο κώδικας [IMG] είναι σε λειτουργία
Ο κώδικας HTML είναι εκτός λειτουργίας
Trackbacks are εκτός λειτουργίας
Pingbacks are εκτός λειτουργίας
Refbacks are εκτός λειτουργίας


Παρόμοια Θέματα

Θέμα Δημιουργός Forum Απαντήσεις Τελευταίο Μήνυμα
[ Φόρμες ] Εμφάνιση μηνύματος σε εντοπισμό ίδιων εγγραφών (σε φόρμα με διάταξη πίνακα) dimitrisp Access - Ερωτήσεις / Απαντήσεις 2 16-03-16 21:20
[ Φόρμες ] Κλείδωμα συγκεκριμένων εγγραφών σε φόρμα ΤΙΜΟΣ Access - Ερωτήσεις / Απαντήσεις 4 10-12-15 16:47
[Συναρτήσεις] εμφάνιση με vlookup συγκεκριμένων κελιών pierta Excel - Ερωτήσεις / Απαντήσεις 10 25-10-15 11:56
Αυτόματη εμφάνιση εγγραφών σε φόρμα Access balex Access - Ερωτήσεις / Απαντήσεις 8 16-07-10 18:18
[ Φόρμες ] Εμφάνιση συνόλων υποφόρμας στην κύρια φόρμα mdragon Access - Ερωτήσεις / Απαντήσεις 5 14-04-10 10:01


Η ώρα είναι 12:37.