Ανανέωση ιστοσελίδας

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

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

 

Εργαλεία Θεμάτων Τρόποι εμφάνισης
  #1  
Παλιά 10-03-11, 00:46
Όνομα: Χρήστος Φ.
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 20-12-2010
Περιοχή: Θεσσαλονίκη
Μηνύματα: 498
Προεπιλογή Φίλτρο σε Έκθεση

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

=Άθροισμα([ΠΕΔΙΟ1])

με το ΠΕΔΙΟ1 να προέρχεται από ένα ερώτημα
(Γενικά την έκθεση την στηρίζω σ' αυτό το ερώτημα)

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

πχ Άθροισμα([ΠΕΔΙΟ1])>=5

Θα σας παρακαλέσω η "λύση" να μην δωθεί χρησιμοποιώντας Συγκεντρωτικό ερώτημα αλλά μέσα απ' την έκθεση.

Τελευταία επεξεργασία από το χρήστη Χρήστος : 16-10-16 στις 18:57.
Απάντηση με παράθεση
  #2  
Παλιά 10-03-11, 11:53
Το avatar του χρήστη Meteora
Συντονιστής
Όνομα: Νίκος
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 28-12-2008
Περιοχή: Θεσσαλονίκη
Μηνύματα: 1.033
Προεπιλογή

Καλημέρα

Χρήστο, αν κάνεις χρήση της πρότασης (στο συμβάν click ενός κουμπιού):
Κώδικας:
 
DoCmd.OpenReport "ΟνομαReport", acViewPreview, , "ΟνομαΠεδίου > = 5"
Θά έχεις μια αναφορά στην οποία τα εμφανιζόμενα -στην οθόνη- Records, θα έχουν τιμές στο [ΟνομαΠεδίου] μεγαλυτερες ή ίσες του 5.

Επιβάλλεται η έκθεση να "βλέπει" το πεδίο αυτό !

Με εκτίμηση

Νίκος Δ.
Απάντηση με παράθεση
  #3  
Παλιά 10-03-11, 11:58
Όνομα: Χρήστος Φ.
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 20-12-2010
Περιοχή: Θεσσαλονίκη
Μηνύματα: 498
Προεπιλογή Ευχαριστώ...

Ανυπομονώ να το δω να δουλεύει!
Θα σε ενημερώσω.
Ευχαριστώ
Απάντηση με παράθεση
  #4  
Παλιά 10-03-11, 12:03
Όνομα: Χρήστος Φ.
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 20-12-2010
Περιοχή: Θεσσαλονίκη
Μηνύματα: 498
Προεπιλογή

Η έκθεση χρησιμοποιεί ένα υπολογιζόμενο πεδίο:
=Άθροισμα([ΠΕΔΙΟ]).

Το ΠΕΔΙΟ υπάρχει στο ερώτημα που τροφοδοτεί την έκθεση.
Αυτή η έκφραση δεν θα δουλέψει?
Απάντηση με παράθεση
  #5  
Παλιά 10-03-11, 12:57
Το avatar του χρήστη Meteora
Συντονιστής
Όνομα: Νίκος
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 28-12-2008
Περιοχή: Θεσσαλονίκη
Μηνύματα: 1.033
Προεπιλογή

....Και βέβαια θα δουλέψει! Όμως να προσέξεις το όνομα που έχεις δώσει στο πεδίο. Εσύ -αν θυμάμαι καλά, δίνεις λεζάντες στα πεδία...

τα ξαναλέμε λοιπόν !
Συνημμένα Αρχεία
Τύπος Αρχείου: zip Dokimi.zip (39,0 KB, 27 εμφανίσεις)
Απάντηση με παράθεση
  #6  
Παλιά 10-03-11, 17:33
Όνομα: Χρήστος Φ.
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 20-12-2010
Περιοχή: Θεσσαλονίκη
Μηνύματα: 498
Προεπιλογή

Νίκο θέλω λίγη βοήθεια.
Στο κουμπί (με το κλικ)έχω βάλει μια μακροεντολή που ανοίγει μια έκθεση εφαρμόζοντας το φίλτρο
="[SECTIONID]=" & [SECTIONID]
Εμείς λοιπόν θέλουμε επιπλέον, να ενσωματώσουμε και τον κώδικα που πρότεινες.
Πως θα το κάνω;
Μπορείς μέσα στον κώδικά σου να ενσωματώσεις ΚΑΙ το φίλτρο μου;
Απάντηση με παράθεση
  #7  
Παλιά 10-03-11, 17:58
Όνομα: Χρήστος Φ.
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 20-12-2010
Περιοχή: Θεσσαλονίκη
Μηνύματα: 498
Προεπιλογή

Νίκο δεν δουλεύει. Πρόσεξέ με...
Κάθε εγγραφή του ερωτήματος έχει ένα πεδίο.
Στην έκθεση που είναι βασισμένη πάνω του ομαδοποιώ τις εγγραφές και βγάζω το άθροισμα του πεδίου.
Το άθροισμα του πεδίου δεν υπάρχει λοιπόν στο ερώτημα.
Είναι σαν να διαγράφω δηλαδή το πεδίο Teliko απ' το ερώτημά σου και να βάζω μόνο στην έκθεση το υπολογιζόμενο πεδίο =[timi]*[posotita]
Τότε ο κώδικας δεν δουλεύει.
Θα την βρούμε την λύση... :))
Απάντηση με παράθεση
  #8  
Παλιά 10-03-11, 19:23
Το avatar του χρήστη Meteora
Συντονιστής
Όνομα: Νίκος
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 28-12-2008
Περιοχή: Θεσσαλονίκη
Μηνύματα: 1.033
Προεπιλογή

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

Έλα σε περιβάλλον σχεδίασης της φόρμας. Επέλεξε το κουμπί που ανοίγει το report. Με επιλεγμένο το κουμπί, πήγαινε ιδιότητες -καρτέλα Συμβάν - επέλεξε το συμβάν με το κλικ - πάτα στις τρεις (...) τελείες ή στο βελάκι για να βρεις την επιλογή [Διαδικασία Συμβάντος].
Θα μεταφερθείς πλέον σε περιβάλλον όπου γράφεται η VBA !

Ο κέρσορας θα αναβοσβήνει ανάμεσα σε :
Κώδικας:
 
Private Sub Command1_Click()
| 
End Sub
Εκεί ανάμεσα γράψε (καλύτερα copyPaste) την γραμμή :
Κώδικας:
 
DoCmd.OpenReport "Reportena", acViewPreview, , "[timi]*[posotita] >= 10 and [SECTIONID]=" & [SECTIONID]
Κάνε την προσαρμογή που επιβάλλεται, ώστε να εμφανίσεις τα πεδία που θες.

Τελευταία επεξεργασία από το χρήστη Meteora : 11-03-11 στις 06:36.
Απάντηση με παράθεση
  #9  
Παλιά 10-03-11, 21:00
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 18-06-2010
Μηνύματα: 3.674
Προεπιλογή

Καλησπέρα

Η ΒΔ που επισυνάπτω δίνει απάντηση στο ερώτημα:
Πώς θα φιλτράρουμε τις εγγραφές μιας ομαδοποιημένης έκθεσης, έτσι ώστε να εμφανίζονται μόνο οι ομάδες εγγραφών στις οποίες το άθροισμα των τιμών ενός πεδίου (για τις εγγραφές τις ομάδας) υπερβαίνει μία επιλεγμένη τιμή;
1) Η ΒΔ περιέχει τον πίνακα «tblValues», πεδία «fGroup» και «fValues». Οι τιμές του πεδίου «fGroup» χρησιμοποιούνται για την ομαδοποίηση των εγγραφών, και οι τιμές του «fValues» χρησιμοποιούνται για τη δημιουργία των αθροισμάτων.
2) Η έκθεση «rptTable» βασίζεται στον πίνακα «tblValues». Το φιλτράρισμα γίνεται με κατάλληλη αλλαγή της προέλευσης εγγραφών της έκθεσης, όπως φαίνεται στον παρακάτω κώδικα:
Κώδικας:
Private Sub Report_Open(Cancel As Integer)
    Dim strSQL As String
    Dim m As Double
    m = 20                          'μεταβλητή που καθορίζει το όριο του αθροίσματος
    strSQL = "SELECT tblValues.* FROM tblValues" & _
    " WHERE DSum(""fValue"",""tblValues"",""fGroup='"" & [fGroup] & ""'"")>" & m & ";"
    Me.RecordSource = strSQL
End Sub
3) Η Η έκθεση «rptQuery» βασίζεται στον ερώτημα «qryValues». Το φιλτράρισμα γίνεται με την εφαρμογή φίλτρου σε ένα βοηθητικό πεδίο «fSum» που έχει προστεθεί στο ερώτημα, όπως φαίνεται στον παρακάτω κώδικα:
Κώδικας:
Private Sub Report_Open(Cancel As Integer)
    Dim m As Double
    m = 20
    Me.Filter = "[fSum]>" & m
    Me.FilterOn = True
End Sub
Δεν είμαι σίγουρος ότι τα παραπάνω θα βοηθήσουν στην υλοποίηση του ζητούμενου. Ανεβάζω κυρίως τη βάση επειδή έχει γενικότερο ενδιαφέρον και πιθανόν θα μπορούσε να φανεί χρήσιμη σε κάποια μέλη του φόρουμ.

Φιλικά/Γιώργος
Συνημμένα Αρχεία
Τύπος Αρχείου: mdb FilterGoupReport.mdb (288,0 KB, 33 εμφανίσεις)
Απάντηση με παράθεση
  #10  
Παλιά 10-03-11, 22:04
Το avatar του χρήστη Tasos
Διαχειριστής
Όνομα: Τάσος Φιλοξενιδης
Έκδοση λογισμικού Office: Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική, Γερμανική
 
Εγγραφή: 21-10-2009
Μηνύματα: 2.035
Προεπιλογή

Καλησπέρα!

Έστω ότι το υπολογιζόμενο πεδίο έχει το όνομα SumOf_fValue

Δείτε μια ακόμα πρόταση παρακάτω:

Κώδικας:
Option Explicit

Private f As Double 'Currency??
Const Minimum As Double = 5

Private Sub GroupHeader_Format(Cancel As Integer, FormatCount As Integer)
    f = Nz(Me.SumOf_fValue)
    If f <= Minimum Then Cancel = True
End Sub

Private Sub GroupDetail_Format(Cancel As Integer, FormatCount As Integer)
    If f <= Minimum Then Cancel = True
End Sub

Private Sub GroupFooter_Format(Cancel As Integer, FormatCount As Integer)
    If f <= Minimum Then Cancel = True
End Sub
Φιλικά

Τάσος
__________________
Ms-Office Development Team
Ανάπτυξη επαγγελματικών εφαρμογών
Απάντηση με παράθεση
Απάντηση στο θέμα


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

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


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

Θέμα Δημιουργός Forum Απαντήσεις Τελευταίο Μήνυμα
[Συναρτήσεις] Φίλτρο manolis Excel - Ερωτήσεις / Απαντήσεις 9 07-05-14 16:47
Φίλτρο σε έκθεση alex Access - Ερωτήσεις / Απαντήσεις 2 21-10-12 06:39
[ Εκθέσεις ] Φίλτρο σε Έκθεση ΤΖΙΜΗΣ Access - Ερωτήσεις / Απαντήσεις 5 24-07-11 14:55
Φίλτρο σε Έκθεση Χρήστος Access - Ερωτήσεις / Απαντήσεις 21 16-05-11 07:55
[ Εκθέσεις ] Δυναμικό φίλτρο σε έκθέση fkonstas Access - Ερωτήσεις / Απαντήσεις 10 17-11-10 14:49


Η ώρα είναι 00:21.