![]() |
Επιλογή αναφοράς ανάλογα τιμής πεδίου 1 Συνημμένο(α) Καλημέρα, συγχαρητήρια για το φορουμ . Εργάζομαι σε μια δημόσια υπηρεσία και στην προσπάθεια να αυτοματοποιήσω μια διαδικασία έκανα μια μικρή βασούλα με έναν πίνακα και 2 αναφορές. Η πρώτη αναφορά εμφανίζετα πατώντας το κουμπί 3 βεβαίωσηΑ ενώ η δεύτερη πατώντας το κουμπί 4 βεβαίωσηΒ . Θα θελα να αυτοματοποιήσω την διαδικασία μέσω ελέγχου του πεδίου ποσό2 με την ένδειξη 2. Δηλαδή εάν στο πεδίο ποσό 2 υπάρχει ποσό τότε να τρέχει με το πάτημα κουμπιού η δευτερη αναφορά εάν ειναι μηδέν με το πάτημα του ίδιου κουμπιού να τρέχει η πρώτη αναφορά. Επισυνάπτω εικόνα, τα στοιχεία είναι ψευτικα. Με εκτίμηση Σταύρος |
Καλημέρα. Σταύρο, μπορείς να έχεις μια λύση μέσα απο : Κώδικας: ΥΣ Θα κάνεις χρήση ενός κουμπιού πλέον. (αν το πεδίο ειναι κενό τότε θα εκτυπώνεται η 1η αναφορά,...) με εκτίμηση / Νίκος Δ. |
Ευχαριστώ πολύ Νίκο δουλευει αψογα η λύση σου συγκεκριμμένα ο κώδικας που χρησιμοποίησα: If IsNull(Me.poso2) Then stDocName = "V1" DoCmd.OpenReport stDocName, acPreview Else stDocName = "V2" DoCmd.OpenReport stDocName, acPreview End If |
Καλησπέρα ! Σταύρο -για δοκιμή- διέγραψε το περιεχόμενο στο πεδίο [poso2] και τρέξε τον κώδικα που έγραψες. Πες μας ποια αναφορά εμφανίζεται... Φιλικά / Νίκος Δ Υστερολόγιο : Μάλλον θα εμφανιστεί η V2 ! ... |
1 Συνημμένο(α) Παράθεση:
το μόνο πρόβλημα είναι αν βάλεις 0 στο ποσό2 τότε βγαζει την V2 αν δεν έχει τίποτα το πεδίο εμφανίζει την V1. Στέλνω και την βασούλα! |
Καλημέρα... Πρόσθεσε στην εντολή σου το τμήμα που εμφανίζεται έντονα 'μαυρισμένο', για να καλύψεις την περίπτωση του μηδέν... Κώδικας: |
Παράθεση:
Υπάρχει δυνατότητα να εκτυπώνω στην κεφαλίδα της φόρμας τα στοιχεία (επωνυμία,διευθυνση τηλέφωνο ) από πίνακα, μια εγγραφή από ένα πίνακα στοιχεία υπηρεσίας, έτσι ώστε όταν αλλάξουν τα στοιχεία να αλλάζεις την εγγραφή και οχι την έκθεση; Με εκτίμηση Σταύρος |
Καλημέρα στην κοινότητα ! Αγαπητέ Σταύρο παρουσίασε με παράδειγμα τι θες να συμβεί, ώστε να γίνει σαφέστατο ο,τι επιδιώκεις να πετύχεις. Ήδη έχεις ανεβάσει δυο πίνακες που περιέχουν 2-3 record, αλλά δεν καταλαβαίνω τι εκφράζουν. Γράψε λοιπόν μια μικρή "ιστορία" του τι θες, πως σκέφτεσαι να επιλυθεί και έτσι τα μέλη του Forum να μπορέσουν να σε βοηθήσουν. Γράφεις για παράδειγμα Παράθεση:
Διαβάζοντας παρακάτω, πάλι δεν ειναι - σε μένα - κατανοητό τι θες και δεν μπορώ να απαντήσω... Φιλικά / Νίκος Δ. |
1 Συνημμένο(α) Καλημέρα σε όλους, έχω 2 πίνακες pinakas1, pinakas2 και 2 αναφορές V1, V2. Αν έχω ποσό2 διαφορετικό από 0 εκτυπώνει έκθεση2 αλλιώς έκθεση1. Ολα καλά μέχρι εδώ με την βοήθεια του Νίκου (Meteora). Το νέο στοιχείο είναι ότι στον πίνακα2 έχω τα δεδομένα (όνομα ταμείου, διευθυνση, τηλέφωνο) του ταμείου. Θέλω στις αναφορές V1 και V2 να εμφανίζονται τα δεδομένα της μοναδικής εγγραφής του πίνακα2 στην επικεφαλίδα, έτσι ώστε όταν αλλάζουν τα στοιχεία να αλλάζω την εγγραφή και αυτή να εμφανίζετε αλλαγμένη στις εκθέσεις. Ανεβάζω υλικό. Με εκτίμηση Σταύρος Υ.Γ Ευχαριστώ εκ των προτέρων |
1 Συνημμένο(α) Καλησπέρα και απο εδώ ... Σταύρο, ρίξε μια ματιά στο επισυναπτόμενο αρχείο και τα ...ξαναλέμε ! Αξίζει τον κόπο να δείτε την διαδικασία με την οποία περνάς παραμέτρους σε έκθεση : ΒΗΜΑ 1ο Φτιάχνουμε μια module και γράφουμε τα παρακάτω Κώδικας: Στην ίδια module, Κώδικας: Public Function FTitlos()ΒΗΜΑ 3ο Σε ένα πλαίσιο κειμένου κάπου στο Report, υπάρχει ως ‘Προέλευση στοιχείου ελέγχου’ το: Κώδικας: =FTitlos()Δείτε το στο επισυναπτόμενο αρχείο το οποίο αντικατέστησα...διότι δεν είχε καμιά λογική αυτό που είχα πριν. Τουλάχιστον τώρα, έστω και αν το περιεχόμενο δεν δώσει λύση στον φίλο μας Σταύρο, είναι βέβαιο οτι θα βοηθήσει άλλα μέλη & επισκέπτες Φιλικά / Νίκος Δ. |
Νίκο thank U! Η τελευταία λύση που έδωσες είναι perfect!! Επειδή τα ταμεία αλλάζουν διαρκώς ονόματα τα υπουργεία επίσης, σκέφτηκα σε κάποιο πίνακα να έχω τα στοιχεία τηρώντας ίσως και τα παλιά και να τα έχω τυπωμένα σε εκθέσεις αλλάζοντας τα στο πίνακα και οχι στην έκθεση. Είχα κατά νου ότι στην κεφαλίδα μπορούσε να μπει μονο κείμενο και οχι δεδομένα πίνακα. Θα μελετήσω τον κώδικα VBA. Είμαι σε ένα ταμείο ΝΠΔΔ του υπουργείου εργασίας εδώ και 2 χρόνια και προσπαθώ να αυτοματοποιήσω κάποια χαρτούρα. Ενα λιθαράκι κάθε μέρα. Ευχαριστώ για την βοήθεια. |
1 Συνημμένο(α) Παράθεση:
Μιας και είσαι ένα από τα σπάνια και λαμπρά παραδείγματα που προσπαθούν να εκσυγχρονίσουν αυτή την ατμομηχανή που λέγετε κρατικός μηχανισμός, σου επιστρέφω το αρχείο σου λίγο αλλαγμένο στο οποίο, πιστεύω, θα βρείς αρκετά χρήσιμα εφόδια για το έργο που έχεις αναλάβει. Ίσως αρχικά πιο πολύ για τσιμεντόλιθος θα σου φανεί παρά για λιθαράκι όμως για οποιαδήποτε απορία σου δημιουργηθεί κατά την εξέτασή του θα είμαι διαθέσιμος ώστε να τη λύσω. Τα πιο ενδιαφέροντα στοιχεία, πιστεύω, είναι ο τρόπος με τον οποίο επιλέγω και φιλτράρω τις εκθέσεις αλλά και ο τρόπος με τον οποίο κρύβω το πεδίο των κρατήσεων στις εκθέσεις όταν αυτές είναι μηδενικές. Για τον έλεγχο των εκθέσεων μελέτησε τον κώδικα της φόρμας frmPayments ενώ για την απόκρυψη του πεδίου Poso2 στις εκθέσεις, θα δεις ότι αυτό γίνεται με μια γραμμή κώδικα σε κάθε έκθεση ο οποίος ελέγχει την ορατότητα ενός βοηθητικού χειριστηρίου κειμένου ή ετικέτας το οποίο επικαλύπτει το πεδίο Poso2 και την ετικέτα του. Επίσης, μελέτησε και τα ερωτήματα από τα οποία αντλούν οι εκθέσεις τα δεδομένα τους αλλά και ότι άλλο σου φανεί ενδιαφέρον. Ελπίζω να σε βοηθήσει. Γιάννης |
Καλησπέρα! Γιάννη μου, στην εγγραφή: Ταμείο …λαμόγιων! το ποσό αν και παραδειγματικό μου φάνηκε πολύ μικρό! Κατά τ άλλα, συγχαρητήρια για την όμορφη και καθαρή δουλειά! (δεν περίμενα και κάτι άλλο από σένα...)!! Σε υπολογιστές με μορφοποίηση (Separators) διαφορετική από ".../.../...." , η γραμμή: strWhere = strWhere & "PaymentDate= #" & Format(dtmDate, "mm/dd/yyyy") & "#" θα δημιουργήσει πρόβλημα. Μπορούμε να χρησιμοποιήσουμε: "mm\/dd\/yyyy" ή "mm-dd-yyyy" για να καλύψουμε κι αυτή την περίπτωση. Τα λέμε... Τάσος |
Καλησπέρα και απο εμένα... Θα συμφωνήσω με τον Τάσο κι εγώ... 20 μόνο??? βάλε κάτι ακόμαααααααα!!!! Να συμπληρώσω σχετικά με τις ημερομηνίες. Μου είχε παρουσιαστεί (Access 2003) η περίπτωση να μην μπορώ να κάνω σωστή αναζήτηση βάση ημερομηνίας λόγω άλλου format ημερομηνίας. Έλυσα το πρόβλημά μου εισάγοντας την παρακάτω Κώδικας: Function SQLDate(vDate As Variant) As StringΜου είχε λύσει τεράστιο πρόβλημα στο παρελθόν! Φιλικά Άγγελος |
Καλημέρα σε όλους, ευχαριστώ για την βοήθεια όλους τους φίλους του φόρουμ η ανταπόκριση είναι πολύ άμεση. Γιάννη θα μελετήσω το υλικό σου μετά την Δευτέρα γιατί βρίσκομαι στην Θεσσαλονίκη για το Σαββατοκύριακο και ο χρόνος θα αφιερωθεί σε φίλους και οικογένεια. Καλό Σαββατοκύριακο Με εκτίμηση Σταύρος |
Καλησπέρα φίλοι μου! Τάσο, ένα μεγάλο ευχαριστώ για τα καλά σου λόγια και τις παρατηρήσεις!:happy: Όντως, η τιμές ημερομηνίας μας δημιουργούν πολλά προβλήματα και αυτό γιατί, προγραμματιστικά, κάνουμε το λάθος και τις αντιμετωπίζουμε σαν κείμενα και όχι ως σειριακές τιμές που πραγματικά είναι. Αν δύο ημερομηνίες που έχουν εισαχθεί στο ίδιο περιβάλλον χρήστη, δείχνουν ίδιες, είναι σίγουρο ότι οι σειριακές τιμές τους θα είναι ίδιες. Άλλωστε οι αριθμοί λένε πάντα την αλήθεια ενώ τα κείμενα όχι. :ohno: Οπότε ο πιο σίγουρος τρόπος σύγκρισης δυο ημερομηνιών, είναι να συγκρίνουμε τις τιμές τους. Συνεπώς, το λάθος που έκανα στην παραπάνω έκφραση, θα πρέπει να διορθωθεί σε: strWhere = strWhere & "Clng(PaymentDate)= " & CLng(dtmDate) Νομίζω πως αυτός είναι ο πιο σίγουρος τρόπος σύγκρισης ημερομηνιών (χωρίς ώρα). Το πιο κουφό όμως που ίσως εντοπίσατε αλλά προφανώς ντρέπεστε να μου πείτε είναι: Για ποιον λόγο να ελέγχω την ορατότητα ενός άλλου χειριστηρίου για να αποκρύψω το πεδίο Poso2 και όχι την ορατότητα του ίδιου του πεδίου Poso2;:hammer-smilies-0002 (Ελάτε, πείτε την αλήθεια! Σας έλειψαν λίγο τα σφυροκοπήματά μου ε; :011:) Οπότε φίλοι μου, η διαδικασία ελέγχου της ορατότητας του πεδίου Poso2 γίνεται: Κώδικας: Private Sub Detail_Format(Cancel As Integer, FormatCount As Integer)τα ποντιακά ανέκδοτα θα μιλάνε και για το Γιαννήκα.:005:) Όσο για τα 20δις φίλοι μου, αυτό που φαίνεται είναι πάντα η μισή αλήθεια. Η άλλη μισή είναι πως αυτό το ποσό αντιστοιχεί μόνο ...στη δόση του Μαΐου!!! :015: Φίλε Σταύρο, κοίτα να περάσεις εσύ καλά και όλα τα άλλα γίνονται! Άλλωστε, όπως λέει και ο σοφός λαός: Πρώτα η διασκέδαση και μετά όλα τα άλλα! :respect: Φιλικά, ...Γιαννήκας!:008: |
| Η ώρα είναι 01:12. |
Ms-Office.gr - ©2000 - 2026, Jelsoft Enterprises Ltd.