![]() |
Εκτυπωση report με ενα και παραπανω κριτηρια λοιπον εχω ενα report που εχει μεσα κωδ.λογαριασμου αριθμος τιμολογιου μηνας μεσο κατηγορια κλπ εχω μια φορμα που εχει 2 combobox combo1 = μηνα combo2 = κωδικος λογαριασμου και ενα κουμπι εντολης (εντολη 4) που εκτυπωνει το report o κωδικας που εχω ειναι ο εξης: private Sub εντολη4_Click() If IsNull(combo1) Then MsgBox "επελεξε μηνα !", vbInformation Exit Sub End If DoCmd.OpenReport "MINES", acViewReport, , "[ΜΗΝΑΣ]= '" & combo1 & "'" και λειτουργει μια χαρα τωρα αν θελω να βαλω σαν 2ο κριτηριο τον λογαριασμου ποιος ειναι ο καταλληλος κωδικας?δηλαδη τα θελω πχ τον απριλιο για τον κωδικο ταδε και να μου εκτυπωνει το report βαση του μηνα και του κωδικου και αν θελω να βαλω παραπανω κριτηρια δλδ μεσο , κατηγορια ο κωδικας θα ειναι πανομοιοτυπος με αυτον των 2 κριτηριων? |
Προσπαθω να κανω κατι τετοιο αλλα δεν μου βγαινει: Private Sub Εντολή4_Click() Dim strWhere As String If Not IsNull(combo1) Then strWhere = "([ΜΗΝΑΣ] = """ & Me.combo1 & """) AND " "[ΚΩΔΙΚΟΣ_ΛΟΓΑΡΙΑΣΜΟΥ]= '" & combo2 & "'" End If DoCmd.OpenReport "MINES", acViewReport, , strWhere Me.Filter = strWhere Me.FilterOn = True End Sub |
καλησπερα Μαριε DoCmd.OpenReport "MINES", acViewReport, , [ΜΗΝΑΣ]= '" & combo1 & "'" & and [pedio] = '" & [kritirio] & "'" Γιώργος |
DoCmd.OpenReport "MINES", acViewReport, , [ΜΗΝΑΣ]= '" & combo1 & "'" & and [ΚΩΔΙΚΟΣ_ΛΟΓΑΡΙΑΣΜΟΥ] = '" & combo2 & "'" |
DoCmd.OpenReport "MINES", acViewReport, , [ΜΗΝΑΣ]= '" & combo1 & "'" & " and [ΚΩΔΙΚΟΣ_ΛΟΓΑΡΙΑΣΜΟΥ] = '" & combo2 & "'" Συγνωμη μαριε αυτο ειναι το σωστό |
Εγώ το κάνω έτσι¨: DoCmd.OpenReport "MINES", acViewReport, , "(AR_PELATH>'1') AND (PROION='Patates') AND (PERIOXH='Thesalonikh' OR PERIOXH='Athina') AND (MHNAS>'1')" και φυσικά αλλάζω τις τιμές με τις τιμές των αντικειμένων της φόρμας. Χρησιμοποιείστε αγκύλες [ ] αν τα ονόματα των πεδίων περιέχουν κενά. |
γιατι στον κωδικο λογαριασμου μου ζητα τιμη παραμετρου? |
Φίλε Μάριε καλημέρα! Δείξε τι κώδικα χρησιμοποιείς τελικά για να μπορέσει να σου δοθεί μια απάντηση. Φιλικά Βαγγέλης |
Καλημερα και συγγνωμη για την αγενεια μου να μην πω καλημερα... ο κωδικας που χρησιμοποιω ειναι: Private Sub Εντολή4_Click() If IsNull(combo1) Then MsgBox "επελεξε μηνα !", vbInformation Exit Sub End If DoCmd.OpenReport "MINES", acViewReport, , "[ΜΗΝΑΣ]= '" & combo1 & "'" End Sub και ανα μηνα μου τα βγαζει σωστα τωρα οταν βαζω DoCmd.OpenReport "MINES", acViewReport, , [ΜΗΝΑΣ]= '" & combo1 & "'" & " and [ΚΩΔΙΚΟΣ_ΛΟΓΑΡΙΑΣΜΟΥ] = '" & combo2 & "'" μου λεει οτι υπαρχει λαθος στο κωδικο βεβαια και μονο του που χρησιμοποιησα για να τα φιλτραρω με τον κωδικο λογαριασμου δλδ DoCmd.OpenReport "MINES", acViewReport, , "[ΚΩΔΙΚΟΣ_ΛΟΓΑΡΙΑΣΜΟΥ]= '" & combo2 & "'" μου ζηταει τιμη παραμετρου αλλα εστω πχ οτι θελω φιλτραρισμα με μηνες και κατηγορια ποιος ειναι ο σωστος κωδικας?μηπως χρειαζεται strwhere? |
sorry που ξαναεπιστρεφω σαυτον τον κωδικα: ο κωδικας που χρησιμοποιω ειναι: Private Sub Εντολή4_Click() If IsNull(combo1) Then MsgBox "επελεξε μηνα !", vbInformation Exit Sub End If DoCmd.OpenReport "MINES", acViewReport, , "[ΜΗΝΑΣ]= '" & combo1 & "'" & "[ΚΑΤΗΓΟΡΙΑ]= '" & combo3 & "'" End Sub μου βγαζει μηνυμα : missing operator...οπως εχετε καταλαβει ειμαι αρχαριος στην γλωσσα προγραμματισμου ...:) |
Χιλια συγγνωμη που ξανα ποσταρω το βρηκα εντελει...:) DoCmd.OpenReport "MINES", acViewReport, , "[ΜΗΝΑΣ]= '" & combo1 & "'" & "AND [ΚΑΤΗΓΟΡΙΑ]= '" & combo3 & "'" 2 ερωτησεις τωρα... θελω οταν επιλεγει καποιος μονο τον μηνα να το βγαζει και ας μην εχει διαλεχτει η κατηγορια...πως γινεται? |
γιουπι το βρηκα και αυτο καπως ετσι το εκανα.. Private Sub Εντολή4_Click() If IsNull(combo1) Then DoCmd.OpenReport "MINES", acViewReport, , "[ΚΑΤΗΓΟΡΙΑ]= '" & combo3 & "'" Exit Sub End If If IsNull(combo3) Then DoCmd.OpenReport "MINES", acViewReport, , "[ΜΗΝΑΣ]= '" & combo1 & "'" Exit Sub End If DoCmd.OpenReport "MINES", acViewReport, , "[ΜΗΝΑΣ]= '" & combo1 & "'" & "AND [ΚΑΤΗΓΟΡΙΑ]= '" & combo3 & "'" End Sub τωρα μια ερωτηση γιατι για κωδικο λογαριασμου μου βγαζει οτι θελει τιμη παραμετρου?ειναι κειμενο και συνδεεται με ενα προς πολλα με τον κυριο πινακα οπως και οι μηνες...ο κωδικος μπορει να ειναι 610010508αβ γιαυτο το εχω βαλει σαν κειμενο μηπως γιαυτο κολλαει? |
υπαρχει δυνατοτητα να μαζεψω τον παραπανω κωδικο στην περιπτωση που του βαλω και 3ο κριτηριο? πχ τον κωδικο λογαριασμου?και παλι συγγνωμη για τα συνεχομενα ποσταρισματα... |
Καλημέρα Μάριε! Δες ένα παράδειγμα: DoCmd.OpenReport "MINES", acViewReport, , "([ΚΩΔΙΚΟΣ_ΛΟΓΑΡΙΑΣΜΟΥ] >'" & Me.combo2.Column(1) & "')" & " AND ([PROION]='Patates') AND ([PERIOXH]='Thesalonikh' OR [PERIOXH]='Athina') AND ([MHNAS]>'1')" Μήπως η δεσμευμένη στήλη του combo2 είναι κρυμμένη και όχι αυτή που εμφανίζεται στη φόρμα; |
παιδια συγγνωμη εδω που κανω λαθος ? Private Sub ÅíôïëÞ4_Click() If IsNull(combo1) And (cobo2) Then DoCmd.OpenReport "MINES", acViewReport, , "[ΚΑΤΗΓΟΡΙΑ]= '" & combo3 & "'" Exit Sub End If If IsNull(cobo2) And (combo3) Then DoCmd.OpenReport "MINES", acViewReport, , "[ΜΗΝΑΣ]= '" & combo1 & "'" Exit Sub End If If IsNull(combo1) And (combo3) Then DoCmd.OpenReport "MINES", acViewReport, , "[ΚΩΔΙΚΟΣ ΛΟΓΑΡΙΑΣΜΟΥ]= '" & cobo2 & "'" Exit Sub End If DoCmd.OpenReport "MINES", acViewReport, , "[ΜΗΝΑΣ]= '" & combo1 & "'" & "AND [ΚΩΔΙΚΟΣ ΛΟΓΑΡΙΑΣΜΟΥ]= '" & cobo2 & "'" & "AND [ΚΑΤΗΓΟΡΙΑ]= '" & combo3 & "'" End Sub δλδ οταν εχω γεματα 2 απο τα 3 ή και τα 3 μια χαρα μου βγαζει το report .οταν ομως ειναι μονο ενα γεματο και τα αλλα 2 κενα μου βγαζει λευκή σελιδα |
rolf αντι για and εβαλα & και πηγε κανονικα |
παιδια βοηθεια ...θα μου σπασει τα νευρα...ηδη εχω μπει στον πειρασμο να το σπασω το pc ...εχω αυτο τον κωδικα αλλα οταν χρησιμοποιω και τα 3 κριτηρια μου βγαζει σφαλμα Private Sub ÅíôïëÞ4_Click() If IsNull(combo1) Then DoCmd.OpenReport "MINES", acViewReport, , "[ΚΩΔΙΚΟΣ ΛΟΓΑΡΙΑΣΜΟΥ]= '" & cobo2 & "'" & "AND [ΚΑΤΗΓΟΡΙΑ]= '" & combo3 & "'" Exit Sub End If If IsNull(cobo2) Then DoCmd.OpenReport "MINES", acViewReport, , "[ΜΗΝΑ]= '" & combo1 & "'" & "AND [ΚΑΤΗΓΟΡΙΑ]= '" & combo3 & "'" Exit Sub End If If IsNull(combo3) Then DoCmd.OpenReport "MINES", acViewReport, , "[ΜΗΝΑΣ]= '" & combo1 & "'" & "AND [ΚΩΔΙΚΟΣ ΛΟΓΑΡΙΑΣΜΟΥ]= '" & cobo2 & "'" Exit Sub End If If IsNull(combo1) & (combo3) Then DoCmd.OpenReport "MINES", acViewReport, , "[ ΚΩΔΙΚΟΣ ΛΟΓΑΡΙΑΣΜΟΥ]= '" & cobo2 & "'" Exit Sub End If If IsNull(cobo2) & (combo3) Then DoCmd.OpenReport "MINES", acViewReport, , "[ΜΗΝΑΣ]= '" & combo1 & "'" Exit Sub End If If IsNull(cobo2) & (combo1) Then DoCmd.OpenReport "MINES", acViewReport, , "[ΚΑΤΗΓΟΡΙΑ]= '" & combo3 & "'" Exit Sub End If DoCmd.OpenReport "MINES", acViewReport, , "[ΜΗΝΑ]= '" & combo1 & "'" & "AND [ΚΩΔΙΚΟΣ ΛΟΓΑΡΙΑΣΜΟΥ]= '" & cobo2 & "'" & "AND [ΚΑΤΗΓΟΡΙΑ]= '" & combo3 & "'" End Sub ευχαριστω εκ των προτερων |
Μαριε καλησπερα εδώ έχεις ένα λά8ος στον κωδικα σου "[ ΚΩΔΙΚΟΣ ΛΟΓΑΡΙΑΣΜΟΥ]" εχες κενο μεταξυ Κ και [ έλεξε αρχικα μήπως έχεις και αλλα τετοια DoCmd.OpenReport "MINES", acViewReport, , "[ ΚΩΔΙΚΟΣ ΛΟΓΑΡΙΑΣΜΟΥ]= '" & cobo2 & "'" Γιωργος |
Καλημέρα! Μάριε, δες αυτό το παράδειγμα (βασισμένο στον κώδικα σου): Μη χρησιμοποιείς ( ' ) όταν αναφέρεσαι σε αριθμητικά πεδία.
|
Καλημερα...Tασο ευχαριστω δουλευει μια χαρα....εγω σαν μαθηματικος που ειμαι το πηρα με περιπτωσεις...ευχαριστω και παλι ολους...Και αν δεν τα πουμε ( λεμε τωρα ) καλες γιορτες! |
Γεια και χαρά στη παρέα και καλές γιορτές σε όλους! Όταν ενδέχεται να αντιμετωπίσουμε τιμές NULL σε εκφράσεις αλφαριθμητικών μπορούμε να χρησιμοποιήσουμε τον τελεστή άθροισης (+) αντί τον κανονικό τελεστή συνένωσης αλφαριθμητικών (&). Με αυτόν τον τρόπο αποφεύγουμε τη χρήση ελέγχων για τιμές NULL διότι η προσπάθεια συνένωσης ενός αλφαριθμητικού με μια τιμή NULL με τον τελεστή άθροισης, απλά μας επιστρέφει ένα κενό αλφαριθμητικό. Επίσης, η συνάρτηση Mid διαχειρίζεται με κομψό τρόπο τα κενά αλφαριθμητικά οπότε μπορούμε άφοβα να της περάσουμε ένα String χωρίς να ελέγξουμε το μήκος του. Με βάση αυτά φίλε Μάριε, ο κώδικας για το παράδειγμά σου θα μπορούσε να μοιάζει με τον παρακάτω: Private Sub cmdOpenReport_Click() |
Καλημέρα και χρόνια πολλά σε όλους και όλες! Ο καλός μου φίλος Γιάννης πρότεινε μια υπέροχη λύση για Access < 2007 . Μπράβο Γιάννη! Για Access 2007+ μπορεί να γίνει έτσι:
|
| Η ώρα είναι 22:03. |
Ms-Office.gr - ©2000 - 2026, Jelsoft Enterprises Ltd.