Ανανέωση ιστοσελίδας
ms-office.gr > Forum > Microsoft Access > Access - Ερωτήσεις / Απαντήσεις > Εκτυπωση report με ενα και παραπανω κριτηρια

Access - Ερωτήσεις / Απαντήσεις Access + VBA... Εδώ δεν υπάρχουν όρια!

Απάντηση στο θέμα

 

Εργαλεία Θεμάτων Τρόποι εμφάνισης
  #21  
Παλιά 24-12-09, 02:57
Το avatar του χρήστη 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
__________________
Αν δεν το ρωτούσες, δεν θα το μαθαίναμε ποτέ...!
-----------------------------------------------
Τελικά η γνώση, αντίθετα με ό,τι μέχρι σήμερα πίστευα, είναι η φυλακή της σκέψης.
Όταν η αφετηρία είναι η ελεύθερη σκέψη, δεν χρειάζεται πλέον να φτάσεις πουθενά!
Απάντηση με παράθεση
  #22  
Παλιά 25-12-09, 02:48
Το avatar του χρήστη Tasos
Διαχειριστής
Όνομα: Τάσος Φιλοξενιδης
Έκδοση λογισμικού Office: Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική, Γερμανική
 
Εγγραφή: 21-10-2009
Μηνύματα: 2.011
Προεπιλογή

Καλημέρα και χρόνια πολλά σε όλους και όλες!

Ο καλός μου φίλος Γιάννης πρότεινε μια υπέροχη λύση για Access < 2007 .

Μπράβο Γιάννη!

Για Access 2007+ μπορεί να γίνει έτσι:

Private Sub cmdOpenReport_Click()
DoCmd.OpenReport "MINES", 5, , Mid( _
IIf(IsNull(Me.combo1), "", " AND [ΜΗΝΑΣ]= '" & Me.combo1 & "'") & _
IIf(IsNull(Me.combo2), "", " AND [ΚΩΔΙΚΟΣ ΛΟΓΑΡΙΑΣΜΟΥ]= '" & Me.combo2 & "'") & _
IIf(IsNull(Me.combo3), "", " AND [ΚΑΤΗΓΟΡΙΑ]= '" & Me.combo3 & "'"), 6)
End Sub
__________________
Ms-Office Development Team
Ανάπτυξη επαγγελματικών εφαρμογών

Τελευταία επεξεργασία από το χρήστη Tasos : 26-12-09 στις 04:51.
Απάντηση με παράθεση
Απάντηση στο θέμα


Δικαιώματα - Επιλογές
Δε μπορείτε να δημοσιεύσετε νέα μηνύματα
Δε μπορείτε να δημοσιεύσετε απαντήσεις
Δεν μπορείτε να επισυνάψετε αρχεία
Δεν μπορείτε να επεξεργαστείτε τα μηνύματα σας

Ο κώδικας ΒΒ είναι σε λειτουργία
Τα Smilies είναι σε λειτουργία
Ο κώδικας [IMG] είναι σε λειτουργία
Ο κώδικας HTML είναι εκτός λειτουργίας
Trackbacks are εκτός λειτουργίας
Pingbacks are εκτός λειτουργίας
Refbacks are εκτός λειτουργίας


Παρόμοια Θέματα

Θέμα Δημιουργός Forum Απαντήσεις Τελευταίο Μήνυμα
Report πρόβλημα mikekal1oo Access - Ερωτήσεις / Απαντήσεις 7 04-04-16 20:13
Report σε Pdf ΚΩΣΤΑΣ2 Access - Ερωτήσεις / Απαντήσεις 0 16-07-14 22:18
Τίτλος report page gipsy Access - Ερωτήσεις / Απαντήσεις 6 17-05-12 13:00
[ Εκθέσεις ] Πονοκέφαλος σε Report marios1984 Access - Ερωτήσεις / Απαντήσεις 2 29-03-10 12:19
Πλέγματα στα Report Meteora Access - Ερωτήσεις / Απαντήσεις 1 07-07-09 14:05


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