| Access - Ερωτήσεις / Απαντήσεις Access + VBA... Εδώ δεν υπάρχουν όρια! |
| | Εργαλεία Θεμάτων | Τρόποι εμφάνισης |
|
#2
| |||
| |||
|
Καλησπέρα στην παρέα Δέσποινα, στη ΒΔ που επισυνάπτω, παρουσιάζω δύο προσεγγίσεις του ζητούμενου. Η ΒΔ περιέχει:
Αν στο πρώτο μέρος της φόρμας «frmTest» πληκτρολογήσουμε στο πλαίσιο κειμένου το όνομα του πεδίου (F1 ή F2 ή F3) στο οποίο θέλουμε να εφαρμοστεί το φίλτρο και πατήσουμε το διπλανό κουμπί θα ανοίξει το ερώτημα «TestQry1» και θα εμφανίσει τις εγγραφές του πίνακα «Test» κατάλληλα φιλτραρισμένες. Παρακάτω δίνεται το ερώτημα «TestQry1» σε μορφή SQL: Κώδικας: SELECT Test.* FROM Test WHERE (((Test.F1)=IIf([Forms]![frmTest]![txtF]="F1",-1,[F1])) AND ((Test.F2)=IIf([Forms]![frmTest]![txtF]="F2",-1,[F2])) AND ((Test.F3)=IIf([Forms]![frmTest]![txtF]="F3",-1,[F3]))); Αν στο δεύτερο μέρος της φόρμας «frmTest» πληκτρολογήσουμε στο πλαίσιο κειμένου το όνομα του πεδίου (F1 ή F2ή F3) στο οποίο θέλουμε να εφαρμοστεί το φίλτρο και πατήσουμε το διπλανό κουμπί ο κώδικας που εκτελείται δημιουργεί αρχικά το ερώτημα «TestQry2» και στη συνέχεια το ανοίγει εμφανίζοντας τις εγγραφές του πίνακα «Test» κατάλληλα φιλτραρισμένες. Ο κώδικας που εκτελείται φαίνεται παρακάτω. Κώδικας: Private Sub cmdOpenQrery2_Click()
Dim strSQL As String, qry As DAO.QueryDef
On Error Resume Next
CurrentDb.QueryDefs.Delete "TestQry2"
On Error GoTo 0
strSQL = "SELECT * FROM Test Where [" & Me.txtF2 & "]=-1;"
Set qry = CurrentDb.CreateQueryDef("TestQry2", strSQL)
DoCmd.OpenQuery "TestQry2"
End Sub
Private Sub cmdOpenQuery_Click()
DoCmd.OpenQuery "TestQry1"
End Sub
Τα θέματα του φόρουμ τα παρακολουθούν (εκτός αυτών που τα έθεσαν) και άλλα μέλη. Είναι σημαντικό συνεπώς, όταν παίρνουμε κάποια λύση, να ενημερώνουμε το φόρουμ αν μας κάλυψε, ώστε να γνωρίζουν και τα υπόλοιπα μέλη την αποτελεσματικότητά της. Φιλικά/Γιώργος |
« Προηγούμενο Θέμα
|
Επόμενο Θέμα »
| |
| ||||
| Θέμα | Δημιουργός | Forum | Απαντήσεις | Τελευταίο Μήνυμα |
| [ Εκθέσεις ] Παράμετρος σε ερώτημα | XristosM | Access - Ερωτήσεις / Απαντήσεις | 6 | 03-08-11 21:35 |
Η ώρα είναι 15:45.



Θεματικός Τρόπος
