Καλησπέρα
Βαγγέλη, δοκίμασε τον κώδικα.
Κώδικας:
Private Sub Εμφάνιση_Click()
Dim name As String, strF As String
name = "Στατιστικά - ανά Κατηγορία Διπλώματος"
If Not IsNull(Me.ΛίσταΚατηγορίαΔιπλώματος) Then strF = "ΚατηγορίαΔιπλώματος= " & Me.ΛίσταΚατηγορίαΔιπλώματος
FilterReport strF, name
End Sub
Private Sub Εντολή2_Click()
Dim name As String, strF As String
name = "Στατιστικά - ανά Τύπο Αίτησης Διπλώματος"
If Not IsNull(Me.ΛίσταΤύποςΑίτησηςΔιπλώματος) Then strF = "ΤύποςΑίτησηςΔιπλώματος= " & Me.ΛίσταΤύποςΑίτησηςΔιπλώματος
FilterReport strF, name
End Sub
Public Sub FilterReport(strF As String, strName As String)
If Not IsNull(Me.txtStart) Then
If strF <> "" Then strF = strF & " AND "
strF = strF & "[Ημερομηνία Εγγραφής]>=#" & Format(Me.txtStart, "m/d/yyyy") & "#"
End If
If Not IsNull(Me.txtEnd) Then
If strF <> "" Then strF = strF & " AND "
strF = strF & "[Ημερομηνία Εγγραφής]<= #" & Format(Me.txtEnd, "m/d/yyyy") & "#"
End If
If IsNull(strF) Then
DoCmd.OpenReport strName, acViewPreview
Else
DoCmd.OpenReport strName, acViewPreview, , strF
End If
End Sub
Δίνει τη δυνατότητα να αφήνεις ένα ή περισσότερα πεδία κενά (Null).
Κάθε πεδίο που μένει κενό, δεν υπολογίζεται στα κριτήρια.
Αν αφήσεις κενή την ημερομηνία λήξης θα εμφανιστούν οι εγγραφές με ημερομηνία εγγραφής ίση ή μεγαλύτερη από την ημερομηνία έναρξης, αν υπάρχει.
Αν αφήσεις κενή την ημερομηνία έναρξης θα εμφανιστούν οι εγγραφές με ημερομηνία εγγραφής ίση ή μικρότερη από την ημερομηνία λήξης, αν υπάρχει.
Αν όλα τα πεδία είναι κενά θα ανοίξει η έκθεση χωρίς να εφαρμοστεί κάποιο φίλτρο.
Αν θέλεις ένα διάστημα πχ τρίμηνο θα πρέπει να δώσεις τις κατάλληλες ημερομηνίες έναρξης και λήξης (πχ 1/1/2013 , 31/3/2013).
Φιλικά/Γιώργος