Γεια και χαρά στη παρέα και καλές γιορτές σε όλους!
Όταν ενδέχεται να αντιμετωπίσουμε τιμές NULL σε εκφράσεις αλφαριθμητικών
μπορούμε να χρησιμοποιήσουμε τον τελεστή άθροισης (+) αντί τον κανονικό τελεστή συνένωσης αλφαριθμητικών (&).
Με αυτόν τον τρόπο αποφεύγουμε τη χρήση ελέγχων για τιμές NULL διότι η προσπάθεια συνένωσης
ενός αλφαριθμητικού με μια τιμή NULL με τον τελεστή άθροισης, απλά μας επιστρέφει ένα κενό αλφαριθμητικό.
Επίσης, η συνάρτηση Mid διαχειρίζεται με κομψό τρόπο τα κενά αλφαριθμητικά
οπότε μπορούμε άφοβα να της περάσουμε ένα String χωρίς να ελέγξουμε το μήκος του.
Με βάση αυτά φίλε Μάριε, ο κώδικας για το παράδειγμά σου θα μπορούσε να μοιάζει με τον παρακάτω:
Private Sub cmdOpenReport_Click()
Dim strSQL As String
strSQL = strSQL & " AND " + "[ΜΗΝΑΣ]= '" + Me.combo1 + "'"
strSQL = strSQL & " AND " + "[ΚΩΔΙΚΟΣ ΛΟΓΑΡΙΑΣΜΟΥ]= '" + Me.combo2 + "'"
strSQL = strSQL & " AND " + "[ΚΑΤΗΓΟΡΙΑ]= '" + Me.combo3 + "'"
strSQL = Mid(strSQL, 6)
DoCmd.OpenReport "MINES", acViewPreview, , strSQL
End Sub