Εμφάνιση ενός μόνο μηνύματος
  #21  
Παλιά 24-12-09, 01:57
Το avatar του χρήστη nisgia
nisgia Ο χρήστης nisgia δεν είναι συνδεδεμένος
Super Moderator
Όνομα: Γιάννης
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 12-10-2009
Περιοχή: Ηγουμενίτσα
Μηνύματα: 161
Προεπιλογή

Γεια και χαρά στη παρέα και καλές γιορτές σε όλους!

Όταν ενδέχεται να αντιμετωπίσουμε τιμές 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
__________________
Αν δεν το ρωτούσες, δεν θα το μαθαίναμε ποτέ...!
-----------------------------------------------
Τελικά η γνώση, αντίθετα με ό,τι μέχρι σήμερα πίστευα, είναι η φυλακή της σκέψης.
Όταν η αφετηρία είναι η ελεύθερη σκέψη, δεν χρειάζεται πλέον να φτάσεις πουθενά!
Απάντηση με παράθεση