Access - Ερωτήσεις / Απαντήσεις Access + VBA... Εδώ δεν υπάρχουν όρια! |
| Εργαλεία Θεμάτων | Τρόποι εμφάνισης |
#1
| |||
| |||
Πέρασμα φίλτρων από φόρμα σε έκθεση
Γεια στους φίλους. Έχω φτιάξει μια μικρή βάση και την οποία σας παραθέτω με συνημμένο αρχείο (test.zip). Έχω 2 απορίες, ευχαριστώ εκ των προτέρων. 1)Η φόρμα πάνω στην οποία είναι βασισμένη η μικρή εφαρμογή είναι η gen. Έχω φτιάξει μια έκθεση η οποία βασίζεται σε ερώτημα . Το ερώτημα έχει ως κριτήριο [Φόρμες]![gen]![Αναγνωριστικό] Έτσι, κάθε φορά που πατάω το κουμπί, για την εγγραφή που θέλω, έχω και την αντίστοιχη έκθεση. Είναι σωστό αυτό σα λογική; Μπορούμε να τη δεχτούμε επειδή απλά λειτουργεί; Υπάρχει άλλος τρόπος; 2)Οι συνολικές εγγραφές που έχω είναι 6. Αν φιλτράρω ανα Κατηγορία και Τοποθεσία και εμφανίσω στη φόρμα μου 2 εγγραφές για παράδειγμα μπορώ τα φίλτρα που έχω βάλει να τα «περνάω» και στην αντίστοιχη έκθεση; Δηλαδή να φτιάξω ένα κουμπί που θα μου τυπώνει την έκθεση ek_gen αλλά όλες τις εγγραφές που βλέπω εκείνη τη στιγμή στη φόρμα μου. |
#2
| |||
| |||
Καλησπέρα Ευθύμη, στην επισυναπτόμενη ΒΔ μπορείς να δεις δύο τρόπους εμφάνισης στην έκθεση των εγγραφών που εμφανίζει και η φόρμα. Α. Για την υλοποίηση του 1ου τρόπου έχει προστεθεί στην αρχική ΒΔ: 1) Ο βοηθητικός πίνακας tblHLP, με ένα μόνο πεδίο τύπου «μεγάλος ακέραιος». 2) Το ερώτημα qryShowRecordsForm, στο οποίο βασίζεται η έκθεση. Στο ερώτημα υπάρχει κατάλληλο κριτήριο για την εμφάνιση μόνο των εγγραφών που δείχνει η φόρμα. 3) Η έκθεση rptShowRecordsForm, η οποία στηρίζεται στο ερώτημα qryShowRecordsForm και εμφανίζει τις εγγραφές που παρουσιάζει και η φόρμα. Με το πάτημα του κουμπιού «Εμφάνιση Έκθεσης» της φόρμας gen τρέχει ο παρακάτω κώδικας: Κώδικας: Private Sub cmdOpenReport_Click() Dim strSQL As String On Error GoTo Err_Trap strSQL = "INSERT INTO tblHLP (ID) VALUES(" CurrentDb.Execute "DELETE * FROM tblHLP" With Me.RecordsetClone .MoveFirst Do While Not .EOF CurrentDb.Execute strSQL & !Αναγνωριστικό & ")" .MoveNext Loop End With DoCmd.OpenReport "rptShowRecordsForm", acViewPreview Exit Sub Err_Trap: MsgBox "Error #" & Err.Number & vbCrLf & Err.Description End Sub Προϋποθέτει η προέλευση της έκθεσης να περιλαμβάνει τα πεδία της φόρμας στα οποία εφαρμόζεται το φίλτρο και επιπλέον τα πεδία αυτά να έχουν ίδια ονόματα. Για την υλοποίηση του 2ου τρόπου έχει προστεθεί στην αρχική ΒΔ: 1) Ο πίνακας gen2, στον οποίο τα πεδία Topothesia και Kathhgoria,έχουν γίνει πεδία αναζήτησης . 2) Η φόρμα gen2 με προέλευση τον πίνακα gen2 3) Η έκθεση rptShowRecordsForm2, η οποία στηρίζεται στον πίνακα gen2 στον οποίο στηρίζεται και η φόρμα. Με το πάτημα του κουμπιού «Έκθεση» της φόρμας gen2 τρέχει ο παρακάτω κώδικας: Κώδικας: Private Sub cmdPrint_Click() Dim strFilter As String If Me.FilterOn Then strFilter = Me.Filter DoCmd.OpenReport "rptShowRecordsForm2", acViewPreview, , strFilter End Sub Ο τρόπος που περιγράφεις στο πρώτο ερώτημά σου είναι από τους καλύτερους. Φιλικά/Γιώργος |
#3
| |||
| |||
Ευχαριστώ πάρα πολύ!
|
« Προηγούμενο Θέμα
|
Επόμενο Θέμα »
| |
Παρόμοια Θέματα | ||||
Θέμα | Δημιουργός | Forum | Απαντήσεις | Τελευταίο Μήνυμα |
[ Εκθέσεις ] Έκθεση με στοιχεία από Φόρμα | Free_Ghost | Access - Ερωτήσεις / Απαντήσεις | 3 | 07-02-15 16:23 |
[Συναρτήσεις] Πέρασμα τριών εντολών σε ενα κουμπί | kirkon | Excel - Ερωτήσεις / Απαντήσεις | 2 | 17-04-14 19:27 |
[Μορφοποίηση] Απόκρυψη ορισμένων σειρών με επιλογή φίλτρων μη κενά. | Nick1983 | Excel - Ερωτήσεις / Απαντήσεις | 9 | 19-09-13 20:32 |
Φόρμα, Έκθεση, Ενημέρωση πίνακα | kellis | Access - Ερωτήσεις / Απαντήσεις | 13 | 02-06-13 15:41 |
[ Εκθέσεις ] Πέρασμα παραμέτρου σε Report | mike04 | Access - Ερωτήσεις / Απαντήσεις | 7 | 02-05-11 00:24 |
Η ώρα είναι 08:09.