![]() |
Εκτύπωση μιας εγγραφής από φόρμα με σελιδοδίκτες 1 Συνημμένο(α) Καλησπέρα σας καταρχήν ευχαριστώ για ότι προσφέρεται σε όλους μαζί μ’ αυτούς κι εγώ έχω καταλάβει αρκετά από εσάς . Θέλω την βοήθεια σας αν γίνεται. Γιατί ΔΕΝ γνωρίζω vba ή κάποιο άλλο αυτόματο τρόπο να διευκολύνω τον εαυτό μου και τους συναδέλφους . Το πρόβλημα μου είναι το εξής : <τοποθετήστε τον φάκελο ως έχει στο (c) > Με τα λίγα που ξέρω (όπως θα ΄΄φαίνεται΄΄ στην φόρμα είμαι πυροσβέστης) έφτιαξα αυτή τη βάση δεδομένων (αυτοδίδακτος και ΕΘΕΛΟΝΤΙΚΑ σε όλα) την οποία χρησιμοποιώ για αρχειοθέτηση και την εκτύπωση εγγράφων με mail merge (στο C). Τώρα έχει περί τις 1700 εγγραφές αλλά σύντομα θα έχει αρκετές χιλιάδες. Είναι αρκετά αποδοτική και έχουμε όφελος χρόνου πάνω από 70% στην τελική εύρεση και εκτύπωση εγγράφων (εκτυπώνονται περίπου 30 διαφορετικά έγγραφα). Στο Ψητό τώρα (γιατί μάλλον σας κούρασα) . Θέλω η εγγραφή που έχω στην φόρμα αυτή και μόνο αυτή να πηγαίνει στο έγγραφο εντός του ίδιου φακέλου στο (C) με mail merge όπως το έχω κάνει, εκτός αν μου προτείνετε άλλο τρόπο , (έχω βάλει ένα έγγραφο για παράδειγμα, αλλά στην πράξη είναι πάνω από 20 δυο και τριών σελίδων). Τώρα ανοίγει στο Word περί τις 1700 σελίδες για το κάθε έγγραφο και ¨¨αααργεί λίιιγο ¨¨ ξέχασα να σας πω ότι η Βάση δεδομένων είναι κοινόχρηστη και δουλεύουμε ταυτόχρονα τουλάχιστον δυο (δεν ξέρω αν έχει σημασία, πάντως τώρα δουλεύουμε καλά) Επίσης αν γίνεται όταν ανοίγω το έγγραφο να μην με ρωτά κάθε φορά για να ανοίξει. ΣΑΣ ΕΥΧΑΡΙΣΤΩ . |
1 Συνημμένο(α) Γιώργο καλημέρα Την μέθοδο που χρησιμοποιείς δεν την έχω χρησιμοποιήσει και δεν ξέρω τις δυνατοτητές της οπότε δεν γνωρίζω αν μπορεί να πάρει την τρέχουσα εγγραφή, νομίζω πως όχι. Κατά την γνώμη μου θα πρέπει να φτιάξεις τα έγγραφα που τυπώνεις σε Εκθέσεις μέσα στην Access. Σου έφτιαξα το πρώτο έγγραφο το οποίο μπορείς να χρησιμοποιήσεις ως πρότυπο για να φτιάξεις τα υπόλοιπα. Πέρα αυτού διαπιστώνω σοβαρό πρόβλημα τόσο στα ονόματα των πεδίων όσο και στην γενική σχεδίαση της βάσης. Το να χρησιμοποιείς ελληνικά με κενά, καθέτους κλπ θα σου δημιουργήσει στο μέλλον πρόβλημα. Θα πρέπει να φτιάξεις πίνακες με τα στοιχεία και τους βαθμούς των προισταμένων, ελεγκτών κλπ και γενικά τα στοιχεία που επαναλαμβάνονται. Σου έφτιαξα τους ελεγκτές κατα αυτό τον τρόπο. Έτσι στις 1700 εγγραφές που έχεις τώρα καταχωρείται σε ένα πεδίο μόνο ένας αριθμός ενώ διαφορετικά θα αποθηκεύονταν σε όλες τις εγγραφές τόσο το Ονοματεπώνυμο όσο και ο Βαθμός. Με την υπάρχουσα βέβαια δομή αν αλλάξει ο βαθμός ενός ελεγκτή αλλάζει σε όλες τις εγγραφές. Αν σε ενδιαφέρει να έχεις στο ιστορικό και τον βαθμό του ελεγκτή την ημερομηνία που υπέγραψε το έγγραφο (δηλαδή εάν τυπώνεις ξανά παλιά έγγραφα) πρόσθεσε ξανά και τον βαθμό του ελεγκτή στον πίνακα αλλά με τον ίδιο τρόπο φτιάχνοντας δηλαδή έναν πίνακα ΒΑΘΜΟΙ από όπου θα παίρνεις τους βαθμούς για όλους τους Αξιωματικούς που μετέχουν στην διαδικασία. Αυτά για τώρα, ελπίζω να σε βοήθησα. |
Χίλια Ευχαριστώ φίλε Στέλιο για την άμεση ανταπόκριση. Θα το ξαναδώ και μέσω έκθεσης, το πρόβλημα όμως είναι ότι στην έκθεση δεν μπορούν οι άλλοι χρήστες να ¨επέμβουν¨ και να διορθώσουν κάτι πχ. στοίχιση ή κείμενο γιατί πάντα οι απαντήσεις δεν είναι ίδιες κτλ . και υπάρχει ένα πρόβλημα εκεί . Βέβαια όπως λες τα έχω ψιλοκαταλάβει αυτά με τις επαναλήψεις των πεδίων. Επίσης ανατρέχουμε συνεχώς σε παλιές εγγραφές ή αλλάζουμε κάποια στοιχεία και τις ξαναχρησιμοποιούμε (γιατί αλλάζει πχ. Όνομα μια εταιρεία) . Επίσης … τώρα γνωρίζω, γιατί όταν ξεκίνησα δεν ήξερα να γράψω το όνομά μου… για τα ονόματα των πεδίων (ξέρω πρέπει να το δώ άμεσα) θα κάνω αναβάθμιση όλων των εγγράφων, το κακό είναι ότι θέλουν αρκετό χρόνο είναι πάνω από 30 σελίδες και πρέπει να αλλαχθούν όλα τα πεδία που σημαίνει πάει άλλο ένα Σαββατοκύριακο (δεν γίνεται εργάσιμη γιατί δουλεύει η Βάση). Συγνώμη αν σε κούρασα και πάλι ευχαριστώ. |
1 Συνημμένο(α) Γιώργο καλησπέρα Όντως οι Εκθέσεις έχουν αρκετά μειονεκτήματα ως προς την διάταξη του εγγράφου, ειδικά σε πολύπλοκα έγραφα, δεν επιτρέπουν διαμόρφωση του κειμένου σε εσωτερικά πεδία (πχ να είναι έντονες οι εγγραφές που προέρχονται από την βάση κλπ). Στην συνημένη βάση πρόσθεσα στον πίνακα ένα πεδίο (Ναι/Όχι) με όνομα εκτύπωση από όπου επιλέγεις την/τις εγγραφές που θές προς εκτύπωση. Αν αλλάξεις την προέλευση των στοιχείων στο έγγραφο WORD να ζητάει τα στοιχεία από το ερώτημα ΣΤΟΙΧΕΙΑ1 θα σου εκτυπώνει μόνο τις επιλεγμένες εγγραφές. Επίσης κάποια στιγμή θα ήταν καλό να διαχωρίσεις την βάση σου σε δύο βάσεις Front/End (όπως στην συνημμένη). Η μία περιέχει τους πίνακες με τα δεδομένα και η άλλη τα ερωτήματα, φόρμες κλπ ώστε να μπορείς να τροποποιείς την σχεδίαση της ενώ η βάση δουλεύει.Βέβαια για τροποποιήσεις στους πίνακες η βάση θα πρέπει να ανοιχτεί για αποκλειστική χρήση. |
1 Συνημμένο(α) 1. Στέλιο σ' ευχαριστώ και πάλι θα δω αυτό που μου δίνεις , αλλά δεν ξέρω αν μπορώ να το προσαρμόζω και μελλοντικά …. θα το δω. 2. Μου προτείνεις να κάνω όλα τα επαναλαμβανόμενα πεδία (βαθμούς, Αξιωματικούς, Νομοθεσία κτλ.) άλλους πίνακες με σχέση ένα προς πολλά με τον πίνακα ΄΄ ΚΑΤΑΧΩΡΗΣΗ ΣΤΟΙΧΕΙΩΝ ΄΄ αλλιώς υπάρχει πρόβλημα στη βάση δεδομένων? 3. Δεν σου κρύβω ότι για την εκτύπωση μιας εγγραφής έχω σκεφτεί ένα απλό τρόπο, αλλά δεν μου δίνει την μια και μοναδική εγγραφή που ψάχνω (μου λύνει λίγο τα χέρια στην καθυστέρηση) . Αυτό γίνετε ως εξής , τα έγγραφα τα έχω κάνει πρότυπα word και δεν χαλάνε (στην κατά λάθος αποθήκευση) πριν λοιπόν την ολοκλήρωση της συγχώνευσης στο word, στην καρτέλα στοιχεία αλληλογραφίας/επεξεργασία λίστας παραληπτών/ (τα φιλτράρω κατά την ημερομηνία του πρωτοκόλλου πχ. Μελέτης) και αφήνω τσεκαρισμένες τις 5-10 πρώτες εγγραφές μόνο) έτσι αποθηκεύω το πρότυπο. Με αποτέλεσμα όταν πρωτοκολλήσω μια μελέτη μου την βγάζει πρώτη στο εξερχόμενο έγγραφο μαζί με τις δέκα εγγραφές μόνο. Ταυτόχρονα όμως δουλεύουν κι άλλοι (εκεί έγκειται το πρόβλημα) οπότε δεν είναι σίγουρο αν θα το βγάλει πρώτο – δεύτερο κτλ. Είναι μια καλή μείωση όμως και αν ο συνάδελφος δεν εργάζεται σε μελέτη αλλά σε πιστοποιητικό ή αρνητικό έγγραφο εμένα θα μου δώσει πρώτη την εγγραφή στην εκτύπωση μου. 4. Στο έγγραφο που σου έστειλα δεν ισχύουν τα παραπάνω γιατί είναι από άλλη Υπηρεσία ‘’πειραγμένο’’ . Έχω δώσει τη βάση σε μερικές υπηρεσίες, γιατί μας έχει λύσει τα χέρια στην εκτύπωση, όσο για την αρχειοθέτηση δεν χρειάζεται να σου πω πόσο δύσκολο είναι να ψάχνεις από …. Δεκάδες χιλιάδες!! ( στο ανέφερα ότι σιγά σιγά θα περάσει τις 10.000 με 15.000 εγγραφές. 5. Θα σου ανεβάσω ένα έγγραφο μ’ αυτό το φιλτράρισμα να το δεις βέβαια το έχω λίγο ΄΄ χαλάσει ΄΄ αλλά η ημερομηνία που λέω φαίνεται. (Στο κάθε έγγραφο αλλάζει σίγουρα καθημερινά η ημερομηνία πρωτοκόλλου, οπότε αυτό που θέλω είναι έγγραφο σημερινό ή άντε να θέλω να διορθώσω μια χθεσινή εκτύπωση, οπότε στα 10 τελευταία ημερολογιακά έγγραφα θα είναι μέσα !). 6. Είχα και μια καθυστέρηση λόγω … σεισμού, ευτυχώς ως τώρα πάμε καλά. 7. ΕΥΧΑΡΙΣΤΩ. Πιστεύω να μην σε κουράζω. |
Καλησπέρα Να δώσω τα συγχαρητήρια μου στο Γιώργο για τη δουλειά που έφτιαξε και μας παρουσίασε και να του ευχηθώ καλή συνέχεια... Σχετικά με το θέμα τώρα. Αυτή την εποχή εργάζομαι πάνω στην ανάπτυξη μιας εφαρμογής που θα διαχειρίζεται έντυπα (φόρμες κενές), έγραφα (π.χ εγκυκλίους, προεδρικά διατάγματα,...), θα μετατρέπει ένα έντυπο -για παράδειγμα αίτηση αδείας, σε συμπληρωμένο έγγραφο με τα στοιχεία του σχολείου και τα προσωπικά στοιχεία του αιτούντος εκπαιδευτικού, θα διαχειρίζεται άδειες, απεργίες κ.ο.κ. Δηλαδή μια εφαρμογή που θα αντικαταστήσει όλο (;) το χαρτομάνι που διαχειριζόμαστε εμείς οι εκπαιδευτικοί-διευθυντές σχολικών μονάδων. Η τεχνική που ακολουθώ -για τη δημιουργία εγγράφων- είναι η εξής: Φτιάχνω το έγγραφο σε word εκμεταλεύομενος τις δυνατότητες σύνταξης αυτής της εφαρμογής του office. Στη συνέχεια ορίζω μέσα στο έγγραφο σελιδοδείκτες. Στη συνέχεια αποθηκεύω το έγγραφο σε κάποιο φάκελο σε μορφή πρότυπου (*.dot). Μέσω της εφαρμογής ανακαλώ το πρότυπο και 'φoρτώνω' στους σελιδοδείκτες ό,τι θέλω, από πεδία πινάκων της access και με χρήση κώδικα vba. Το πλεονέκτημα: Το πρότυπο *.dot μένει α ν έ π α φ ο, αφού οι αλλαγές που γίνονται στο έγγραφο συνιστούν ΝΕΟ έγγραφο word το οποίο αποφασίζω αν θα αποθηκεύσω, πού και με ποιό όνομα. Έτσι την επόμενη φορά δίνω πάλι παραγγελία μέσω της Access το πρότυπο να με δημιουργήσει νέο έγγραφο κ.ο.κ. Αντίστοιχους χειρισμούς κάνω και για τα Excel... Συμπερασματικά: Δεν χρησιμοποιώ "συγχώνευση αλληλογραφίας" ούτε report. Χρησιμοποιώ πρότυπα Word "εμπλουτισμένα" με σελιδοδείκτες. Ελπίζω βοήθησα στο διάλογο, προσθέτοντας μια άποψη που με βασάνησε 2-3 χρόνια μέχρι να αντιληφθώ πώς έπρεπε να κάνω τη σχεδίαση... με εκτίμηση Νίκος Δ. |
1 Συνημμένο(α) ανεβαζω και την βάση δεδομένων για το έγγραφο . |
Νίκο, μπορείς να μου δώσεις υλικό για μελέτη σχετικά με αυτά που αναφέρεις σε παρακαλώ; (Κάποιο συνημμένο ή Link) |
1 Συνημμένο(α) Γιώργο καλησπέρα Μια έκδοση με βάση την μέθοδο του Νίκου με την δημιουργία σελιδοδεικτών στο έγγραφο. Μπορώ να πω πως μου αρέσει πολύ και δεν είχα καν ακούσει για αυτή την μέθοδο. Με το πάτημα του πλήκτου WORD δημιουργείται ένα έγγραφο WORD με βάση το πρότυπο YPOD που βρίσκεται στο C:\share002\TEMPLATES. Το έγγραφο αποθηκεύεται στο C:\share002\ με όνομα Χ Π Ε _Επωνυμία επιχείρησης (μπορείς να το καταργήσεις ή να το τροποποιήσεις) Νίκο, ευχαριστώ για την ιδέα γιατί με έχουν κουράσει αρκετά οι Εκθέσεις. |
Στέλιο καλησπέρα και από εμένα. Πολύ καλό !!! νομίζω θα το καταφέρω. Αν κατάλαβα καλά : Τα πεδία μου μέσω Visual Basic γίνονται σελιδοδείκτες (νομίζω κατανοητό βλέπω πως γίνεται). Βάζω τα έγραφα μου (που έχω ήδη έτοιμα με πεδία, καταργώ τα πεδία που έχω & βάζω τους αντίστοιχους σελιδοδείκτες) στο φάκελο TEMPLATES. Θα δημιουργήσω για το κάθε έγγραφο το αντίστοιχο (κουμπί) , θα το ενεργοποιώ με τον επόμενο κώδικα [strTemplateName = "C:\share002\TEMPLATES\YPOD.dotx"] αλλάζοντας το (YPOD) με το αντίστοιχο όνομα που θα δώσω στο κάθε έγγραφο. Μέχρι εδώ πιστεύω καλά ?? μετά όμως που θα βάλω τον κώδικα για τα άλλα έγραφα? μετά από αυτή τη σειρά?? (Συγνώμη δεν ξέρω κώδικα) Αν είναι εύκολο γράψε παράδειγμα με δυο τρία ονόματα έγγραφων να ανοίγει να το καταλάβω. ή πρέπει για κάθε έγγραφο να ξαναγράφω όλη την σελίδα του κώδικα? (δεν νομίζω) . Πάντως από την πρώτη ματιά είναι ΄΄ Άπαικτο ΄΄ αν το καταφέρω θα γλιτώσω το mail merge και τις ερωτήσεις που μου κάνει όταν ανοίγει το word . Ευχαριστώ . Και σε σένα και στο Νίκο ενα μεγάλο ευχαριστώ |
Καλησπέρα στην παρέα!! Καλησπέρα Στέλιο και Γιώργο και στο Νίκο που έχουμε πιστεύω την ίδια εργασία. θα βοηθήσω ή μάλλον θα προσθέσω με λόγια διότι αυτή την περίοδο έχω πολλές εργασίες να κάνω σε κάποια σεμινάρια. Θα πρέπει να κάνεις ένα φάκελο στο application Data (πχ ένα φάκελο με ονομασία My My Data_Doc_xls_Pdf και άλλο ένα φάκελο με ονομασία My data_Dot_Xlt_Pdf.Στο my Data_Doc_xls_Pdf θα βάλεις όλα τα έγγραφα που έχεις σε μορφή κατάληξη *doc, *xls, Pdf σχετικά με το PDF δεν θα έχεις πρόβλημα.Θα παραμένουν και στους δύο φακέλους το ίδιο.Ο σκοπός που κρατάμε τα ίδια αρχεία σε δύο φακέλους είναι για πάσα ενδεχόμενο λάθους ή καταστροφής να μπορούμε να τα έχουμε σε κατάληξη *doc. Aλλά έτσι και αλλιώς είναι και ο αρχικός φάκελος διότι από εκεί έχουμε ξεκινήσει για να μετατρέψουμε τα αρχεία σε *dot .Τα αρχεία του excel θα τα μετατρέψουμε σε *xlt.Τα Pdf παραμένουν ίδια.Τα οποία θα μεταφέρουμε στο φάκελο My data_Dot_Xlt_Pdf. Στις εντολές κάθε αρχείου η διαδρομή που θα δίνεις θα είναι C:\Application Data\Mydata_Dot_Xlt_Pdf Πρέπει το AppData να τον κάνουμε κρυφό ώστε να μην γίνεται κλοπή των αρχείων .Η διαχείριση θα γίνεται από την βάση και η επιλογή θα γίνεται από το φάκελο της μετατροπής. Όπως είπε και ο Νίκος ο σκοπός της μετατροπής σε *dot και *xlt για δική μας χρήση διότι σε ένα έγγραφο του word (Πχ ανάληψη υπηρεσίας) που θα καλέσεις να την εμφανίσει και θέλει συμπλήρωμα όταν έχει κατάληξη doc δεν χαλάει την αρχική μορφή του εγγράφου αλλά σε προτρέπει σε αποθήκευση.Οπότε εάν το ξανά καλέσεις το έγγραφο θα είναι όπως ήταν στην αρχική μορφή. Εγώ ήδη έχω 4 διαφορετικές βάσεις με το τρόπο αυτό σε δύο προγράμματα ένα οργάνωση και διοίκηση του νηπιαγωγείου και ένα Διαχείριση του νηπιαγωγείου. Το μόνο πρόβλημα που αντιμετωπίζω στη διαχείριση του νηπιαγωγείου είναι ότι μερικά έγγραφα παίρνουν αυτόματα τιμές από πίνακες που αντιστοιχούν σε μαθητές και χρειάζονται εκθέσεις. Επίσης είχα κάνει κάποια κατασκευή και για τα προκαταρκτικά των εκθέσεων να τα αλλάζω από φόρμα διότι τα τελευταία χρόνια οι τίτλοι των υπουργείων αλλάζουν κάθε 6 μήνες.Οπότε από μια φόρμα αλλάζουν όλα τα προκαταρκτικά των εντύπων που έχουν μορφή έκθεσης και όχι Word. Aυτά εν ολίγης πιστεύω να έγινε κατανοητό το σκεπτικό που είναι σχεδόν το ίδιο με του Νίκου.Οι σελιδοδείκτες καλό είναι ,εγώ έχω ακολουθήσει διαφορετικό τρόπο μετονόμασα όλα τα αρχεία σε file1,file2 κλπ και τα διαχειρίζομαι από πίνακα .Ευχαριστώ το Νίκο για τα φώτα που μας έδωσε σχετικά με τους σελιδοδείκτες. |
Γεια σου Αλέξανδρε, δεν σου κρύβω ότι αυτό που λες με τους τίτλους των υπουργείων (συμβαίνει και σε μας ) κι εγώ έχω σκεφτεί να το βάλω σε πεδίο στην βάση έτσι ώστε να αλλάζει σ’ όλα τα έγγραφα αυτόματα . πάντως απ’ ότι βλέπω βρήκα δουλειά με το νέο τρόπο που θα κάνω στην βάση μου. Τα ονόματα και του φόρουμ θα λάβουν ευχαριστίες στην φόρμα μου (εμφανείς , πιστεύω δεν υπάρχει πρόβλημα γι αυτό). διότι όταν ολοκληρώσω την βάση μ’ αυτό τον τρόπο (φαίνεται πιο εύκολος στην έκδοση των εγγράφων) οι συνάδελφοι σε άλλες περιφερειακές Υπηρεσίες θα την θέλουν οπωσδήποτε, ήδη δουλεύει τουλάχιστον σε τρείς υπηρεσίες ( τα έγραφα που εκδίδει αγγίζουν το 90 με 95 % των εγγράφων του γραφείου πυρασφαλείας). Την έχω δώσει κι αλλού, αλλά δεν ξέρω πόσο την χρησιμοποιούν (και για αυτό θέλω να βάλω τον τίτλο της υπηρεσίας με αυτοματισμό, σκέφτομαι με πεδίο υπόμνημα εντός πίνακα να μην χαλά η στοίχιση) Ευχαριστώ . |
Γιώργο καλημέρα Το παράδειγμα που σου έγραψα ήταν πολύ απλό για να καταλάβεις την διαδικασία. Δυστυχώς τα πράγματα είναι πιο δύσκολα και σε περιμένει πολύ δουλειά. Για κάθε υπόδειγμα εγγράφου πρέπει να γραφεί κώδικας και να αντιστοιχισθεί σε κάποιο κουμπί. Σε κατάσταση σχεδίασης προσθέτεις ένα κουμπί και στο συμβάν "Με το κλίκ" επιλέγεις δόμηση κώδικα. Μπορείς να αντιγράψεις τον κώδικα από το υπάρχον κουμπί και να τον επικολήσεις στο νέο και να τροποποιήσεις τις εγγραφές. doc.bookmarks("Επίθετο").Select (στην γραμμή αυτή επιλέγεις το όνομα του σελιδοδείκτη που έχεις ορίσει στο πρότυπο) objWord.Selection.TypeText Me.[Επίθετο] (στην γραμμή αυτή επιλέγεις το όνομα του πεδίου της βάσης σου που περιέχει τα δεδομένα που θες να φορτωθούν στην θέση του σελιδοδείκτη) On Error Resume Next ( Η γραμμή αυτή δηλώνει στον κώδικα να αγνοεί τα σφάλματα. Σφάλμα προκαλείται όταν δεν υπάρχει ο σελιδοδείκτης ή αν το πεδίο με τα δεδομένα είναι κενό.) Αν συμπληρώσεις όλα τα πεδία στην βάση μπορείς να το σβήσεις για να σιγουρευτείς ότι έχεις τοποθετήσει όλους τους σελιδοδείκτες. Δεν ξέρω αν τυπώνεις μαζί δύο η περισσότερα έγγραφα, αν ναι μπορείς να τα τοποθετήσεις στο ίδιο πρότυπο. Βέβαια ακόμη και στο ένα έγγραφο κάποια πεδία επαναλαμβάνονται, όπως θα είδες και στο παράδειγμα οπότε στους σελιδοδείκτες θα πρέπει να βάζεις το ίδιο όνομα με αριθμό στο τέλος πχ Ημερομηνία, Ημερομηνία1, Ημερομηνία2 κλπ Στον κώδικα θα πρέπει να προσθέσεις επιπλέον πεδία όπως στο παράδειγμα. Από όσο είδα στον πίνακά σου έχεις 111 πεδία, όπως προείπα σε προηγούμενο μήνυμα τα κενά και οι κάθετοι στα ονόματα των πεδίων δημιουργούν προβλήματα. Καλό θα ήταν στην παρούσα φάση να αντικαταστήσεις τα ονόματα των πεδίων βάζοντας underscore ( _ ) όπου έχεις κενά, καθέτους παύλες κλπ. Αφού αλλάξεις τα ονόματα των πεδίων, σε ένα αρχείο WORD μπορείς να φτιάξεις κώδικα για όλα τα πεδία τον οποίο θα επικολείς στον κώδικα κάθε κουμπιού και θα σβήνεις όσες γραμμές δεν υπάρχουν στο συγκεκριμένο πρότυπο ενώ θα προσθέτεις κώδικα για όσα πεδία επαναλαμβάνονται στο πρότυπο. Τα ίδια ονόματα των πεδίων θα χρησιμοποιήσεις και για ονόματα των σελιδοδεικτών. Από ότι είπες από την βάση σου εκτυπώνονται 30 διαφορετικά έγγραφα οπότε απαιτείται πολύ δουλειά για μπούν σελιδοδείκτες σε όλα, ο κώδικας είναι το λιγότερο πρόβλημα. Επιμένω πως πρέπει να τροποποιήσεις τα ονόματα των πεδίων στην παρούσα φάση γιατί αργότερα η κατάσταση θα γίνει πιο πολύπλοκη. Όταν ολοκληρώσεις την δουλειά θα συνδέσεις τον πίνακα από την βάση που έχεις τις εγγραφές σου και με ένα ερώτημα προσάρτησης, όπου θα αντιστοιχίσεις τα πεδία με τα νεα, θα μεταφέρεις τις εγγραφές στον νέο πίνακα. Για να μην σε κουράσω άλλο ξεκίνα το και είμαστε εδώ για να σε βοηθήσουμε σε όποια φάση κολήσεις. Δεν ξέρω αν με κάποια συνάρτηση μπορούμε να περιορίσουμε την διαδικασία. Πιο πολύ με προβληματίζουν οι επαναλαμβανόμενες εγγραφές στους σελιδοδείκτες και δεν έχω εικόνα των υπόλοιπων εγγράφων που χρησιμοποιούνται καθώς και εάν εκτυπώνονται μαζί περισσότερα του ενός. ΥΓ Τα κουμπιά για την εκτύπωση των εγγράφων μπορείς να τοποθετήσεις στις καρτέλες όπου συμπληρώνεις τα στοιχεία του κάθε σταδίου της διαδικασίας. |
Καλημέρα Στέλιο. Από την πρώτη ανάγνωση, νομίζω το καταλαβαίνω, τώρα στο μέλλον θα δείξει. Όντως έχω περί τα 20 έγγραφα και πολλά είναι διπλά και τριπλά αυτό που σκέφτομαι να κάνω τώρα είναι: Να αλλάξω τα πεδία στην βάση. Να κάνω τα έγγραφα όλα μονά για απλοποίηση τα είχα … & τριπλά (ΔΥ αναφορά, αποστολή εγγράφου, έγγραφο) για να μην το ανοίγω τρεις φορές με το mail merge και μετά να ψάχνω το ΧΠΕ ξεχωριστά για το κάθε ένα, ήθελα τριπλάσιο χρόνο, τώρα όμως που καταργείται το ψάξιμο ίσως να είναι καλύτερα (μάλλον από την εκτύπωση θα εξαρτηθεί, όταν εκτυπώνεται μονό θα το βάλω ξεχωριστά και όταν εκτυπώνονται και τα δυο μαζί θα τα βάλω μαζί). Μην σε ζαλίζω μ’ αυτά. ¨¨Όταν ολοκληρώσεις την δουλειά θα συνδέσεις τον πίνακα από την βάση που έχεις τις εγγραφές σου και με ένα ερώτημα προσάρτησης, όπου θα αντιστοιχίσεις τα πεδία με τα νεα, θα μεταφέρεις τις εγγραφές στον νέο πίνακα.¨¨ Αυτό που μου λές είναι υποχρεωτικό ή για να κάνω ένα άλλο πίνακα και να δουλέυει η Βάση ταυτόχρονα ?? Γιατί δεν το κατάλαβα. Αν ξεκινήσω πάνω στον ήδη υπάρχοντα πίνακα να αλλάξω τα ονόματα των πεδίων, υπάρχει κάποιο πρόβλημα ? Αν κολλήσω θα ζητήσω Ξανά την βοήθεια σας. Ευχαριστώ . |
Παράθεση:
|
Εντάξει . Ευχαριστώ. θα την Δουλέψω σπίτι μου γιατί στο γραφείο έρχεται κόσμος δεν γίνεται ... πάει το Σαββατοκύριακο. |
Γιώργο καλημέρα. Επανέρχομαι στο θέμα μας. Την συγκεκριμένη μέθοδο δεν την γνωρίζω και πάω και εγώ ψάχνοντας γιατί όπως βλέπω θα μου φανεί χρήσιμη. Για να σου εμφανίζονται σύμβολα των σελιδοδεικτών στο έγγραφο πατάς στο πλήκρο πάνω αριστερά, "επιλογές του Word", "Για προχωρημένους" και επιλέγεις Εμφάνιση σελιδοδεικτών. Ψάχνοντας σχετικά θέματα βρήκα πως υπάρχουν δύο είδη σελιδοδεικτών στο Word, oι "placeholder" και οι "enclosing". Στην πρώτη περίπτωση πατάς σε κάποιο σημείο του εγράφου όπου θέλεις να τοποθετηθεί ο σελιδοδείκτης και επιλέγεις εισαγωγή σελιδοδείκτη. Στην περίπτωση αυτή το κείμενο εισάγεται δεξιά του σελιδοδείκτη. Στην περίπτωση αυτή βλέπεις στην θέση αυτή ένα σύμβολο σαν το κεφαλαίο Ι. Δεν μπορείς όμως να γνωρίζεις ποιος σελιδοδείκτης είναι. Στην δεύτερη περίπτωση επιλέγεις μία λέξη ή σειρά λέξεων και επιλέγεις πάλι εισαγωγή σελιδοδείκτη. Στην περίπτωση αυτή η λέξη που επέλεξες περικλείεται από τα σύμβολα [ ]. Με τον κώδικα που έχουμε και αυτόν που θα αναφέρω στην συνέχεια η λέξη αυτή αντικαθίσταται από το κείμενο του πεδίου που επιλέξαμε. Έτσι μπορείς να βάλεις στο πρότυπο τα ονόματα των πεδίων και να τους δώσεις την διαμόρφωση που θέλεις (Bold, Italic κλπ) και θα αντικατασταθούν με το κείμενο των πεδίων που θα πάρει την διαμόρφωση του σελιδοδείκτη. Έτσι μπορείς εύκολα να δείς στο πρότυπο τι έχεις βάλεις και που και να δώσεις κα την διαμόρφωση που θες. Στον κώδικα που χρησιμοποιήσαμε αρχικά στην πρώτη γραμή γίνεται η επιλογή του σελιδοδείκτη και στην συνέχεια τοποθετείται το κείμενο του πεδίο. Βρήκα και την επιλογή αυτή όπου γίνεται η ίδια διαδικασία με μία γραμμή κώδικα: doc.bookmarks("ΕΠΩΝΥΜΟ").Range.Text = Me.ΕΠΩΝΥΜΟ Το δοκίμασα και δουλεύει εξίσου καλά. |
1 Συνημμένο(α) Καλημέρα Στέλιο. Χθες ήδη έφτιαξα τα πεδία greeklish για δες τα να μου πεις την γνώμη σου μήπως ο αριθμός που βάζω στην μέση του κειμένου μου βγάλει πρόβλημα? Προτίμησα αυτή τη μορφή για να βρίσκω εύκολα ποιο είναι , απ' ότι βλέπω θα το προχωρήσω γρήγορα, αν δεν τύχουν άλλες υποχρεώσεις. πάντως η βάση είναι ήδη έτοιμη για την υποδοχή του Κώδικα. Έχω εκτυπώσει και τις σελίδες μου, 45 είναι πολλές? με τα ονόματα των πεδίων αντί κείμενο, για να μετρήσω και τις επαναλήψεις στο κάθε έγγραφο, όπως μου είπες. Νομίζω πάω καλά, Ευχαριστώ. |
1 Συνημμένο(α) Καλημέρα Γιώργο, Μια χαρά είναι τα πεδία, δεν έχεις πρόβλημα με τους αριθμούς. καλή η επιλογή να τα συμπληρώσεις σε Excel. Ο κώδικας είναι έτοιμος, μένει να βάλεις τους σελιδοδείκτες στα έγγραφα. Αν έχεις και κάποιον υπολογιστή με δύο οθόνες θα σε διευκολύνει περισσότερο. Αν και αρχικά ακούγονται πολλές οι 45 σελίδες, μόλις ξεκινήσεις θα φύγουν γρήγορα. Το θέμα είναι να θυμάσαι σε βάθος χρόνου τι έχεις φτιάξει. Καλό είναι να έχεις ένα οργανόγραμμα με τα εγγραφά σου και ένα ιστορικό με τις σημαντικές αλλαγές που κάνεις στην βάση σου. Συνεχίζω να το ψάχνω το θέμα γιατί είναι ενδιαφέρον. Τελικά ίσως δεν χρειάζεται αν επαναλαμβάνεις τον κώδικα σε κάθε κουμπί. Να μπούν όλες οι πιθανές εκδοχές σε μια ρουτίνα και να την καλείς από όλα τα κουμπιά. Δες ποια πεδία επαναλαμβάνονται συχνά (και πόσες φορές σε κάθε έγγραφο) και ανέβασε δείγμα της τροποποιημένης έκδοσης και 1-2 πρότυπα για να δούμε αν θα δουλεψει. Η απενεργοποίηση των σφαλμάτων θα αγνοήσει όσους σελιδοδείκτες δεν υπάρχουν σε κάποιο έγγραφο. |
Καλημέρα σε όλους. Στέλιο έκανα δοκιμαστικά δυο διαφορετικές ΔΥ έβαλα τον κώδικα κάτω από τον άλλο, όλο πως ήταν και δουλεύει μια χαρά, χωρίς να υπάρχουν όλοι οι σελιδοδείκτες, άρα το πιο απλό είναι να βάλω στον κώδικα περισσότερους σελιδοδείκτες και αυτός θα χρησιμοποιεί μόνο τους υπάρχοντες για το κάθε έγγραφο, για να μην τους μετρώ όλους. Στην περίπτωση μου προς το παρόν δεν δημιουργεί πρόβλημα . Καλημέρα. |
2 Συνημμένο(α) Καλησπέρα στην παρέα. Έχω προχωρήσει την βάση δεδομένων και ανεβάζω λίγη, είμαι στα 30 έγραφα είναι τέλεια! Έχω κωλύσει όμως στο εξής και θα ήθελα αν μπορείτε να βοηθήσετε. Ήξερα να το φτιάξω με πεδία και mail merge, τώρα όμως με τους σελιδοδείκτες δεν μπορώ να το βρω. Σε κάποιες ημερομηνίες πχ. Στο πιστοποιητικό θέλω να είναι της μορφής dddd, dd mmmm yyyy και δεν μπορώ, από την access το έχω κάνει και μου το βγάζει σωστά στη φόρμα , στο word όμως μου το φέρνει dd/mm/yyyy . Συγνώμη, ανεβάζω και την βάση με μερικά έγραφα λίγο ... χαλασμένα προσπαθώ γιατί είναι >500 κβ Ευχαριστώ. συγνώμη για την ταλαιπωρία. |
Γιώργο καλημέρα. Αν μπορείς να ανεβάσεις την βάση σε μορφή 2007 ή 2003 γιατί δεν ανοίγει με το 2007. Όλο αυτό το διάστημα ασχολούμαι με την συγκεκριμένη μέθοδο εξ αφορμής ενός project που ξεκίνησε συμπτωματικά λίγο μετά την συνομιλία μας και έχω βρεί πολλά πράγματα. |
Καλημέρα Στέλιο. Χίλια Ευχαριστώ. συγνώμη για την ταλαιπωρία. μάλλον τα κατάφερα! ΤΕΛΙΚΑ δεν θέλει κόπο θέλει τρόπο μάλλον έφταιγε που δεν την είχα συμπυκνώσει και επιδιορθώσει και τα ΜΒ τα έβγαζε από τις εγγραφές που είχα διαγράψει ! Ευχαριστώ |
Παρακολουθώ το θέμα σας και θα ήθελα να κάνω μια ερώτηση. Ότι λέμε ισχύει μόνο για 1 εγγραφή; Μπορεί να δημιουργηθεί με την αναφερόμνη μεθοδολογία ένα έγγραφο με πολλές σελίδες; Τόσες σελίδες όσες και οι εγγραφές; |
Χρήστο καλησπέρα. Εκτιμώ πως όχι. Μπορεί να δημιουργηθεί ένα έγγραφο με πολλές σελίδες που θα περιέχει όμως στοιχεία μιας εγγραφής Μπορεί να δημιουργηθεί ένα έγγραφο (Ανεξαρτήτως σελίδων) που να περιέχει στοιχεία μιας εγγραφής και στοιχεία πολλών εγγραφών ενός δευτερέυοντα συνδεδεμένου πίνακα. (πχ Παραγγελία και στοιχεία αυτής (Μία εγγραφή) καθώς και Προιόντα,ποσότητες και τιμές (πολλές εγγραφές)). Γιώργο μπορείς να χρησιμοποιήσεις την παρακάτω εντολή ώστε να μην είσαι δεσμευμένος στην θέση C:\share002 πχ σε περίπτωση που η βάση θα χρησιμοποιηθεί σε περιβάλον δικτύου από περισσότερα του ενός άτομα. Οπότε δεν θα χρειάζεται να αντιγράφουν όλοι τα πρότυπα τοπικά με όσα μειονεκτήματα αυτό συνεπάγεται.(πχ τροποποίηση προτύπων κλπ) strTemplateName = [CurrentProject].[Path] & "\Templates\Το όνομα Προτύπου.dot" |
Δηλαδή για την περίπτωση που ανέφερα Στέλιο, θα πρέπει να δημιουργηθεί έκθεση στην Access ή να τρέξω τον οδηγό της συγχώνευσης μέσα απ' το Word, έτσι δεν είναι; |
Γεια σας και πάλι. Γεια σου Στέλιο . Εγώ χρησιμοποιώ αυτή την μέθοδο βγαίνουν όσες σελίδες διαφορετικές θέλεις ή όσες θες συνεχόμενες στο ίδιο έγγραφο (πχ . εμένα η ΔΥ είναι μονή και το έγγραφο με την αποστολή του δύο σελίδες) δεν υπάρχει περιορισμός στο πόσες σελίδες, αρκεί να κάνουμε αυτό που μου είπε ο Στέλιος κάθε επόμενος ΟΜΟΙΟΣ σελιδοδείκτης στο έγγραφο να παίρνει αύξοντα αριθμό, ονομα, ονομα1, ονομα2 ,κτλ. Αν θέλετε πολλές εγγραφές από την βάση ή και όλες μαζί, ο ποιό απλός και γρήγορος τρόπος είναι με το mail merge που είχα κάνει . Αυτός ο τρόπος δεν θέλει τον προαναφερθέντα για τους σελιδοδείκτες αύξοντα αριθμό στο πεδίο, το πεδίο επαναλαμβάνεται κατά κόρον χωρίς πρόβλημα. Το πρόβλημα είναι στις πολλές εγγραφές στις 1700 περίπου κάνει (μέσω δικτύου ) 7-8΄΄ . Από ένα κομπιούτερ χωρίς δίκτυο είναι πολύ καλύτερα (και σ’αυτή την περίπτωση όλα είναι μια φορά ΄΄share002΄΄ στο οικιακό δίκτυο) Στέλιο αυτό που μου λες με τα πρότυπα δεν είναι πρόβλημα, ενοώ με το mail merge γιατί τα αρχεία και την βάση την έχω σε ένα κομπιούτερ με οικιακό δίκτυο συνδεμένο με άλλα τέσσερα έτσι όλα τα έγραφα και τα πρότυπα είναι εκεί μια φορά και εκεί πάνω δουλεύουμε χωρίς πρόβλημα. Το δικό μου κάνει τακτικά αντίγραφα της βάσης. Επίσης δεν σου κρύβω ότι έτσι που την έχω σχεδιάσει, μπορεί να επαναλαμβάνει όμοια πεδία (πρόβλημα για την βάση), αλλά δεν χρειάζεται τίποτα σώσιμο το έγγραφο ξανατυπώνεται κατευθείαν από την βάση (το έχω χρειαστεί αρκετές φορές). Βέβαια ο τρόπος που μου έδωσες για αυτόματο σώσιμο είναι πολύ καλός. Τον θέλω ειδικά στις καταγγελίες που δεν είναι όμοιο το κείμενο. Κανένα νεότερο με το dd/mm/yyyy στο έγγραφο? Ευχαριστώ. |
Γεια σου Χρήστο τον οδηγό της συγχώνευσης mail merge εγώ τον ξεκινώ από την βάση δεδομένων (με επιλεγμένο τον πίνακα ΄΄ αρνητικό γιατί δέχεται ένα πίνακα στο κάθε έγγραφο΄΄) και του δείχνω το έγγραφο στο δίκτυο. Προσοχή αν αλλάξεις οτιδήποτε στο δίκτυο (κωδικούς χρήστη work group κτλ. ή στο τίτλο του εγγράφου χάνεται η σύνδεση και θέλουν ξανά όλα τα έγγραφα μέσω του οδηγού. Ευτυχώς είμαι στα τελειώματα του νέου τρόπου με τον Κώδικα. |
Στέλιο αυτό που μου λες με τα πρότυπα δεν είναι πρόβλημα, (ενοώ με το mail merge) γιατί τα αρχεία και την βάση την έχω σε ένα κομπιούτερ με οικιακό δίκτυο συνδεμένο με άλλα τέσσερα έτσι όλα τα έγραφα και τα πρότυπα είναι εκεί μια φορά και εκεί πάνω δουλεύουμε χωρίς πρόβλημα. Το κατάλαβα! τώρα με το κώδικα δεν γίνεται θέλει τα πρότυπα στο καθένα ξεχωριστά ή να βάλω τον κώδικα. Ευχαριστώ |
Καλημέρα σε όλους Γιώργο Παρανόησα το μηνυμά σου και νόμισα πως βρήκες λύση, γι' αυτό δεν σου απάντησα. Εγώ χρησιμοποιώ τον παρακάτω κώδικα για τις ημερομηνίες: doc.Bookmarks("ΗΜΕΡΟΜΗΝΙΑ").Range.Text = Format(Date, "d") & " " & RMONTH(Format(Date, "m")) & " " & Format(Date, "yyyy") Μπορείς να αλλάξεις το Date με κάποιο πεδίο με ημερομηνίες της βάσης σου, αλλιώς εκτυπώνει την τρέχουσα ημερομηνία. Η συνάρτηση RMONTH που χρησιμοποιώ είναι για βγαίνει ο μήνας στην γενική (δηλαδή Οκτωβρίου αντί για Οκτώβριος) και ο κώδικας που χρησιμοποίησα είναι: Public Function RMONTH(AnyValue) Select Case AnyValue Case "1" thestring = "Ιανουαρίου" Case "2" thestring = "Φεβρουαρίου" Case "3" thestring = "Μαρτίου" Case "4" thestring = "Απριλίου" Case "5" thestring = "Μαΐου" Case "6" thestring = "Ιουνίου" Case "7" thestring = "Ιουλίου" Case "8" thestring = "Αυγούστου" Case "9" thestring = "Σεπτεμβρίου" Case "10" thestring = "Οκτωβρίου" Case "11" thestring = "Νοεμβρίου" Case "12" thestring = "Δεκεμβρίου" End Select RMONTH = thestring End Function Χρήστο Αν το εγγραφό σου δεν είναι ιδιαίτερα πολύπλοκο θα σου πρότεινα να κάνεις έκθεση στην Access. Έτσι μπορείς να τυπώσεις πλήθος εγγραφών ή και όλες. Το mail merge δεν το έχω χρησιμοποιήσει και δεν τα κατέχω καλά. Από λίγο που το μελέτησα εξ αφορμής της συζήτησης, πριν κολήσω με τους σελιδοδείκτες, είδα πως έχει επιλογές για να επιλέξεις συγεγκριμένες εγγραφές. Το βρίσκω όμως λίγο δύσχρηστο ειδικά για καθημερινή χρησιμοποιούμενη βάση. Αν το εγγραφό σου είναι πολύπλοκο ίσως θα πρέπει να το εξετάσεις ως εναλακτική λύση. Να ευχαριστήσω ξανά τον Νίκο (Meteora) για την κατεύθυνση που μας έδωσε καθώς και τους δημιουργούς και διαχειστές του Forum που πιστεύω πως είναι με διαφορά το καλύτερο στο συγκεκριμένο αντικείμενο. |
1 Συνημμένο(α) Καλημέρα, Καλημέρα Στέλιο . Αφού κάνεις το καλό κι εγώ όπως σου έχω πει τον κώδικα τον ξέρω Μόνο οπτικά, δεν γράφω, κάνε μου τη χάρη αυτό που μου λες και βαλ’ το σε μια σελίδα εγώ το προσπάθησα αλλά τίποτα, μετά ξέρω αντιγραφή . για τους σελιδοδίκτες DYPistHmerominia, DYPistHmerominia1 DYPistHmerominia2 Σε ευχαριστώ πολύ. |
1 Συνημμένο(α) Γιώργο Σου συμπλήρωσα τον κώδικα στο συνημμένο έγγραφο. Μην παραλείψεις να αντιγράψεις την συνάρτηση RMONTH σε μιά λειτουργική μονάδα (Module) στην βάση σου. Αν δεν το έχεις ξανακάνει από το παράθυρο της VBA πατάς δεξί κλικ στα Modules και επιλέγεις insert Module. |
Σας ευχαριστώ για τις κατευθύνσεις. Καλημέρα. |
Καλό μεσημέρι Στέλιο. Το έφτιαξα και είναι εντάξει! Το ευχαριστώ Πιστεύω δεν είναι τίποτα σ’ αυτό που κάνεις. Θα στο ανταποδώσω αν κατέβεις Χανιά και συναντηθούμε! Ευχαριστώ. |
3 Συνημμένο(α) Καλησπέρα σε όλους Στέλιο ΤΕΛΕΙΩΣΑ την βάση δεδομένων και τα έγγραφα. Σου στέλνω συνημμένο τι καταγράφει και εκτυπώνει. Είναι τέλεια ευχαριστώ. Αύριο θα την βάλω στην Υπηρεσία σε δίκτυο να δω πως δουλεύει. Και πάλι ευχαριστώ για όλα. |
| Η ώρα είναι 14:28. |
Ms-Office.gr - ©2000 - 2026, Jelsoft Enterprises Ltd.