![]() |
1 Συνημμένο(α) Γιώργο ο κώδικας όπως τον έχω διαμορφώσει και δίνει το επισυναπτόμενο μήνυμα Private Sub cmdExtractAndFillWDCells_Click() Dim appWord As Object, D As String, K As String Dim Col As Integer, Row As Integer, DocName As String Dim doc As Object DocName = "ΗμερήσιαΥπηρεσίαΑξιωματι ών.dot" If Me.RecordsetClone.RecordCount Then On Error Resume Next Err.Clear Set appWord = GetObject(, "Word.Application") If Err.Number <> 0 Then Set appWord = CreateObject("Word.Application") End If On Error GoTo errHandler ' έχω αντικαταστήσει με την νέα γραμμή κώδικα Set doc = doc.ActiveDocument ' Set doc = appWord.Documents(appWord.Documents.Count) With Me.RecordsetClone .MoveFirst Do Until .EOF D = ![cboDay] K = ! cboKathikon Row = Switch(K = "Α1", 2, K = "Α2", 3, K = "Α3", 4, K = "Α4", 5, K = "Α5", 6, K = "Α6", 7, K = "Α7", 8) Col = Switch(D = "Δευτέρα", 2, D = "Τρίτη", 3, D = "Τετάρτη", 4, D = "Πέμπτη", 5, _ D = "Παρασκευή", 6, D = "Σάββατο", 7, D = "Κυριακή", 8) doc.Tables(1).Cell(Row, Col).Range = !txtAll .MoveNext Loop End With appWord.Visible = True appWord.Activate End If Set doc = Nothing Set appWord = Nothing Exit Sub errHandler: MsgBox Err.Number & ": " & Err.Description End Sub |
Φίλε Γιώργο στο θέμα : http://www.ms-office.gr/forum/access...e-unbound.html Ζητάς να συνενώνονται τα ονόματα από όλες τις εγγραφές και αυτό έκανα. Έπρεπε να ζητήσεις να συνενώνονται μόνο τα ονόματα των αξιωματικών στους οποίους έχει ανατεθεί ίδιο καθήκον την ίδια μέρα. Αν ήσουνα σαφής εκτιμώ ότι το πρόβλημά σου θα είχε λυθεί με πολύ λιγότερα μηνύματα. Δεν ξέρω τι φταίει. Πάλεψέ το, όπως λέει και ο Νίκος και εύχομαι να βρεις λύση. |
Νάσαι καλά Γιώργο, Θα το "παλέψω"...!! Σε ευχαριστώ. |
Γιώργο θα μπορούσες τουλάχιστον να μου στείλεις το τελευταίο συνημμένο αρχείο που δεν μου ανοίγει έτσι ώστε να "σε μελετήσω" ? |
1 Συνημμένο(α) Γιώργο δες τη ΒΔ. Το αρχείο .dot είναι ίδιο. |
Ευχαριστώ Γιώργο, κατάφερα να το ανοίξω Νάσαι καλά |
1 Συνημμένο(α) Καλησπέρα Γιώργο, δεν ξέρω αν παλεύεις ακόμα με το θηρίο ή το σκότωσες. Στην επισυναπτόμενη ΒΔ μπορείς να δεις μια σωστή, σχεδιαστικά, υλοποίηση του ζητούμενου. Ίσως να μπορέσεις να την ενσωματώσεις στη δική σου. Η υπηρεσία (δες πίνακα ΥΠΗΡΕΣΙΑ) ορίζεται κατά ημερομηνία και όχι κατά μέρα της εβδομάδας. Έτσι δε χρειάζεται κάθε βδομάδα νέος πίνακας και όλα τα στοιχεία αποθηκεύονται σ’ ένα μόνο πίνακα. Η υπηρεσία ορίζεται με τη βοήθεια της φόρμας ΥΠΗΡΕΣΙΑ. Επιλέγουμε ημερομηνία και καθήκον και στη συνέχεια τον αξιωματικό. Αφού αποθηκεύσουμε την εγγραφή, μπορούμε να πατήσουμε το κουμπί Copy για να προσθέσουμε εγγραφές με την ίδια ημερομηνία και καθήκον και να επιλέξουμε και άλλους αξιωματικούς. Επειδή ο πίνακας και η φόρμα ΥΠΗΡΕΣΙΑ περιέχουν όλες τις υπηρεσίες (όχι μόνο μιας εβδομάδας), έπρεπε να καθοριστεί ένας τρόπος για να απομονώνουμε (φιλτράρουμε) τις εγγραφές μιας εβδομάδας. Αυτό γίνεται με τη βοήθεια του πλαισίου κειμένου txtWeek. Εδώ επιλέγουμε την ημερομηνία της Δευτέρας της εβδομάδας, που μας ενδιαφέρει. Ακολούθως πατώντας το κουμπί [Εξαγωγή στο Word], ο κώδικας φιλτράρει τις εγγραφές, συνενώνει τα ονόματα των αξιωματικών στους οποίους έχει ανατεθεί το ίδιο καθήκον την ίδια μέρα και περνά τα στοιχεία στο έγγραφο του Word. Έχουν οριστεί οι περιορισμοί: 1) Την ίδια ημερομηνία ένα καθήκον δε μπορεί να ανατεθεί στον ίδιο αξιωματικό πάνω από 1 φορές. 2) Ένας αξιωματικός δεν μπορεί την ίδια μέρα να αναλάβει πάνω από 1 καθήκον. Σημείωση: Το πεδίο ID στον πίνακα ΚΑΘΗΚΟΝΤΑ πρέπει να έχει συνεχείς τιμές (1, 2, 3, κλπ) γι’ αυτό δεν το όρισα ως αυτόματης αρίθμησης. Καλή συνέχεια ……………. Φιλικά/Γιώργος |
Καλησπέρα φίλε Γιώργο Προτιμώ να παλεύω με την θάλασσα και τα στοιχεία της παρά με τους κώδικες σας φίλε μου!!! :-) Συμφωνώ με το σκεπτικό με κάποιες διαφορές που σχετίζονται με τα πραγματικά δεδομένα. Αν και ακόμη δεν έχω δεί το αρχείο που έφτιαξες καθότι βρισκόμαστε σε επιφυλακή εν οψη "καταστάσεων" στην περιοχή, εντούτις θα ήθελα να επισυμάνω τα εξής: 1. Επειδή υπάρχουν περιπτώσεις όπου ένα ειδικού χειρισμού καθήκον δύναται να ανατεθεί σε περισσότερους από ένα αξιωματικούς, δεν ξέρω εάν αυτό μπορεί να διαφοροποιά την δομή της σχεδίασης. Ίσως εάν αρθεί αυτός ο περιορισμός να είμαστε ακόμη πιο κοντά στο ζητούμενο. 2. Καλό το σκεπτικό με τις ημερομηνίες αλλά θα βόλευε καλύτερα η επιλογή ημερών της εβδομάδας καθότι το πρόγραμμα δημιουργείται κάθε Κυριακή βράδυ και η αναφορά στέλνεται στην ιεραρχεία σε εβδομαδιαία βάση οπότε ίσως να μην έχει νόημα η ημερομηνία καθότι στην αναφορά συμπεριέχονται και αρκετές άλλες πληροφορίες η οποίες βεβαίως ταξινομούνται αναλόγος και ανά πάσα στιγμή υπάρχει η δυνατότητα να γνωρίζουμε σχετικά με τις υπηρεσίες των αξιωματικών. Αυτά από εμένα φίλε και σε ευχαριστώ για την διάθεση να βοηθήσεις..! Αν και το έχω αναφέρει αρκετές φορές, θεωρώ πως είσαι ένα βαρυσήμαντο άτομο για το φόρουμ και σου αξίζουν πραγματικά τα εύσημα τόσο σε σένα όσο και στους υπόλοιπους παράγωντες του φόρουμ.!! Θα κοιτάξω το επισυναπτόμενο ίσως αύριο και θα παραθέσω τις απόψεις μου Σε ευχαριστων, καλό βράδυ.! (Με περιμένει το δικό μου θυρίο φίλε, δύσκολα τα πράγματα...) |
Γιώργο, δε διατύπωσα σωστά τον 1) περιορισμό. Δες τη διόρθωση στο προηγούμενο μήνυμα. Μπορεί να αποθηκεύονται ημερομηνίες, αλλά όπως θα δεις όταν ασχοληθείς με την εφαρμογή, είναι σα να δουλεύουμε με μέρες. |
Καλημέρα στην παρέα και ειδικά σε εσένα Γιώργο, Έχω κοιτάξει το αρχείο το οποίο επισυνάπτεις, και θα ήθελα κάποιες διευκρινήσεις. Στις οδηγίες που μου δίνεις εφόσον θεωρώ πως τις έχω ακολουθήσει ορθά (πιστεύω πως ναί) έχω παρατηρήσει τα εξής: 1. Επιλέγουμε ημερομηνία και καθήκον και στη συνέχεια τον αξιωματικό. Μια χαρά, το έχω δοκιμάσει και είναι εύχρηστη διαδικασία 2. Αφού αποθηκεύσουμε την εγγραφή, μπορούμε να πατήσουμε το κουμπί Copy για να προσθέσουμε εγγραφές με την ίδια ημερομηνία και καθήκον και να επιλέξουμε και άλλους αξιωματικούς. Βασικά Κατανοητό 3. Επειδή ο πίνακας και η φόρμα ΥΠΗΡΕΣΙΑ περιέχουν όλες τις υπηρεσίες (όχι μόνο μιας εβδομάδας), έπρεπε να καθοριστεί ένας τρόπος για να απομονώνουμε (φιλτράρουμε) τις εγγραφές μιας εβδομάδας. Αυτό γίνεται με τη βοήθεια του πλαισίου κειμένου txtWeek. Εδώ επιλέγουμε την ημερομηνία της Δευτέρας της εβδομάδας, που μας ενδιαφέρει. Ακολούθως πατώντας το κουμπί [Εξαγωγή στο Word], ο κώδικας φιλτράρει τις εγγραφές, συνενώνει τα ονόματα των αξιωματικών στους οποίους έχει ανατεθεί το ίδιο καθήκον την ίδια μέρα και περνά τα στοιχεία στο έγγραφο του Word. Σε αυτό το στάδιο φίλε, έχω επιλέξει πχ 13/10/14 και πάτησα το command. Λογικά θα έπρεπε να έκανε εξαγωγή 3 εγραφές. Τις ID ΗΜΕΡΟΜΗΝΙΑ ΚΑΘΗΚΟΝ ΠΡΟΣΩΠΙΚΟ_ID 13 18/10/2014 Α7 ΥΠ/ΣΤΥΛΙΑΝΟΥ 1152 12 18/10/2014 Α7 ΝΑ/ΜΑΡΙΟΥ 1435 14 19/10/2014 Α7 costandinos αντι για τα πιο πάνω κάνει εξαγωγή τα εξής: Δευτέρα (υποτίθεται 13/10/14 ημερομηνία της Δευτέρας της εβδομάδας που έχω επιλέξει} ΝΑ/ΜΑΡΙΟΥ 1435 καθήκον Α1 ΥΠ/ΣΤΥΛΙΑΝΟΥ 1152 καθήκον Α5 Τρίτη (φαντάζομαι εννοεί τις 14/10) costandinos, ΝΑ/ΜΑΡΙΟΥ 1435 καθήκον Α4 Σάββατο (18/10/14) ΝΑ/ΜΑΡΙΟΥ 1435, ΥΠ/ΣΤΥΛΙΑΝΟΥ 1152 καθήκον Α7 Κυριακή (19/10/14) costandinos καθήκον Α7 Είναι κάτι που δέν κάνω σωστά ή καλύτερα ίσως να μην έχω καταλάβει πώς ακριβώς δουλεύει το σκεπτικό? Σε κάθε περίπτωση σε υπέρ-ευχαριστώ Γιώργο. |
| Η ώρα είναι 08:22. |
Ms-Office.gr - ©2000 - 2026, Jelsoft Enterprises Ltd.