Forum

Forum (https://www.ms-office.gr/forum/)
-   Access - Ερωτήσεις / Απαντήσεις (https://www.ms-office.gr/forum/access-erotiseis-apantiseis/)
-   -   [ Εκθέσεις ] Χρήση διπλού Φιλτραρίσματος σε έκθεση με κώδικα (https://www.ms-office.gr/forum/access-erotiseis-apantiseis/1296-xrisi-diploi-filtrarismatos-se-ekthesi-me-kodika.html)

ΤΖΙΜΗΣ 10-08-11 14:18

Χρήση διπλού Φιλτραρίσματος σε έκθεση με κώδικα
 
1 Συνημμένο(α)
Καλό μεσημέρι σε όλους.Ανεβάζω μία βάση όπου στη φόρμα tbl2 , φιλτράρω τις εγγραφές βάσει ημερομηνίας.Συγκεκριμένα στο συμβάν Οn Click έχω εισάγει κώδικα όπου μου εμφανίζει τις εγγραφές στην έκθεση βάσει ημερομηνιών. από .... μέχρι.
Το ερώτημα είναι αν στο ίδιο συμβάν μπορεί να γίνεται ταυτόχρονα φιλτράρισμα και με βάσει το επώνυμο όταν θα επιλέγεται από το σύνθετο πλαίσιο.
Φιλικά Τζίμης.

Tasos 10-08-11 19:47

Καλησπέρα Τζίμη!

Δεν θα μπορέσει κανείς να σου δώσει κάποια λύση βασισμένη στο αρχείο που ανέβασες.

Η λύση που ζητάς προϋποθέτει δεδομένα που σχετίζονται μεταξύ τους με κάποιο ID και που θα έχει ομοειδή τύπο δεδομένων.
Στον ένα πίνακα (tbl1) έχεις ένα ID που μπορεί να χρησιμοποιηθεί σαν αναγνωριστικό του πελάτη (epon).
Στον άλλο πίνακα (tbl2) έχεις ένα ID με τύπο δεδομένων "Κείμενο" που δεν έχει καμία σχέση με το επώνυμο που υπάρχει εκεί.

Επιπλέον τα δεδομένα είναι πολύ λίγα για να μπορέσει κανείς να τεστάρει τη λύση που θα σου προτείνει.

Μπορώ μόνο να σου προτείνω τον παρακάτω κώδικα που καλύπτει το ζητούμενο υπό την προϋπόθεση ότι η βάση δεδομένων σου τηρεί κάποιους βασικούς κανόνες:

Κώδικας:

Option Explicit

Private Sub cmdOpenReport_Click()
    Dim strCriteria As String, AndOperator As String
    If Nz(Me.CustomerID) <> 0 Then strCriteria = "CustomerID=" & Me.CustomerID
    If IsDate(Me.dtFrom) And IsDate(Me.dtTo) Then
        If strCriteria <> vbNullString Then AndOperator = " AND "
        strCriteria = strCriteria & AndOperator & "ActionDate Between #" & _
                      Format(Me.dtFrom, "m-d-yyyy") & "# And #" & Format(Me.dtTo, "m-d-yyyy") & "#"
    Else
    End If
    DoCmd.OpenReport "Report1", acViewPreview, , strCriteria
End Sub

Όπου:
  • CustomerID = το σύνθετο πλαίσιο με τα επώνυμα όπως το έχεις στο παράδειγμα σου.
  • dtFrom = πεδίο κειμένου για την ημερομηνία "από"
  • dtTo = πεδίο κειμένου για την ημερομηνία "έως"
  • ActionDate = το πεδίο με την ημερομηνία στην έκθεση.
Λειτουργεί με, ή χωρίς κριτήρια

Καλή συνέχεια!

Φιλικά

Τάσος

ΤΖΙΜΗΣ 10-08-11 23:09

Taso ευχαριστώ πολύ για την άμεση ανταπόκριση σου.
Με εκτίμηση Τζίμης


Η ώρα είναι 07:43.

Ms-Office.gr - ©2000 - 2026, Jelsoft Enterprises Ltd.


Search Engine Optimization by vBSEO 3.3.2