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/6199-filtro-me-sintheta-plaisia-gia-imerominia.html)

jamman 25-10-22 13:25

Φίλτρο με σύνθετα πλαίσια για ημερομηνία
 
1 Συνημμένο(α)
Καλησπέρα σε όλους. Θα ήθελα μία βοήθεια. Σε μία φόρμα από ένα ερώτημα , έχω προσθέσει 2 σύνθετα πλαίσια. Το ένα cbomonth και το άλλο cboyear. Πως μπορώ να φιλτράρω τη φόρμα επιλέγοντας μόνο το μήνα ή μόνο το έτος ή και τα δύο μαζί.
Δηλαδή θα ήθελα να βλέπω μόνο τις εγγραφές που αφορούν μόνο έναν μήνα , μόνο ένα έτος ή έναν μήνα έτους.
Ευχαριστώ πολύ!

kapetang 25-10-22 22:19

1 Συνημμένο(α)
Καλησπέρα

Βασίλη, κάνε δοκιμές στο συνημμένο.

Πρόσθεσα ένα κουμπί για το φιλτράρισμα και κώδικα και για τα 2 κουμπιά.

Επίσης αρίθμησα τους μήνες για να ταξινομούνται σωστά

Την αρίθμηση τη χρησιμοποίησα και στον κώδικα, συνεπώς είναι αναγκαία.

jamman 26-10-22 10:12

1 Συνημμένο(α)
Καλημέρα . Γιώργο για άλλη μία φορά σ'ευχαριστώ για την πολύτιμη βοήθειά σου. "Δανειζόμενος" από άλλα post και εφαρμογές , κώδικα , παραμετροποίησα τα rowsource , χρησιμοποίησα την after_update στα σύνθετα πλαίσια και πέτυχα τελικά αυτό που ήθελα. Είχα δοκιμάσει νομίζω και τη δική σου πρόταση αλλά προφανώς κάτι έκανα λάθος στον κώδικα. Ανεβάζω πάλι την εφαρμογή και αν έχεις χρόνο θα ήθελα τη γνώμη σου για το αποτέλεσμα.
Ευχαριστώ και πάλι !

kapetang 26-10-22 20:50

Ο κώδικας που χρησιμοποίησες είναι σωστός.

Σωστός είναι και ο κώδικας για το κουμπί που πρόσθεσα.

Επειδή έχει ένα μη αναγκαίο IF θα μπορούσε να συντομευτεί στον ακόλουθο:

Κώδικας:

Private Sub cmdFilter_Click()
    Dim sFilter As String

    If Nz(Me.cboyear, "") <> "" Then
        sFilter = "Year([ΗΜΕΡΟΜΗΝΙΑ])=" & Me.cboyear
        If Nz(Me.cbomonth, "") <> "" Then
            sFilter = sFilter & " And "
        End If
    End If

    If Nz(Me.cbomonth, "") <> "" Then
        sFilter = sFilter & "Month([ΗΜΕΡΟΜΗΝΙΑ]) = " & Left(Me.cbomonth, 2)
    End If
    Me.Filter = sFilter
    Me.FilterOn = sFilter <> ""

End Sub



Η ώρα είναι 22:11.

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


Search Engine Optimization by vBSEO 3.3.2