![]() |
Φόρμες, υποφόρμες, παράδειγμα με διαγράμματα Καταρχήν καλημέρα! Είμαι καινούρια στο forum και οφείλω να ομολογήσω ότι έχω μείνει έκπληκτη από το έργο σας. Μπράβο παιδιά, ευτυχώς που υπάρχετε και σεις!!!:handshake: Εδώ και κάτι μέρες παλεύω με μια βάση σε Access 2003 όπου καταχώρησα κάποια διαχρονικά δεδομένα μιας υπηρεσίας. Στόχος σε πρώτη φάση είναι η ανάκτηση αυτών και η απεικόνιση τους σε reports και διαγράμματα. Θα ήθελα να ρωτήσω τα ακόλουθα::confused1::confused1: α) Οι φόρμες που έχω κάνει αποτελούνται από υποφόρμες και ανακτώ πληροφορίες επιλέγοντας με λίστα τιμών=έτος (από Ερώτημα/Πίνακα). Όλα ΟΚ. Όταν όμως ανοίγω μια άλλη φόρμα (η οποία είναι κουμπί πάνω στην κεντρική φόρμα) για να δω πιο αναλυτικά επιπλέον κάποια δεδομένα επιστρέφοντας στην κεντρική φόρμα και αρχίζοντας το παίξιμο της ροδέλας του ποντικιού τότε αλλάζουν όλες οι τιμές στις υποφόρμες που υπάρχουν χωρίς όμως να ενημερώνεται η λίστα τιμών. Καταλαβαίνεται ότι αυτό δίνει λάθος πληροφορία. Αν ξαναεπιλέξω μια τιμή από τη λίστα λειτουργούν όλα κανονικά. Τί ρύθμιση πρέπει να κάνω στη φόρμα? β)Θέλω να μου στείλετε κανά παράδειγμα με διαγράμματα, πως από έναν πίνακα ή ερώτημα μπορώ να πλοτάρω κάποια πεδία? γ)Την τρίτη ερώτηση θα την κάνω αργότερα γιατί πιστεύω ότι είδη σας έχω κουράσει με την μακρηγορία μου. Ευχαριστώ εκ των προτέρων, Φιλικά, agi37:bye::bye::bye: |
Καλησπέρα σε όλους! Ανθή καλωσόρισες στο φόρουμ! Στην πρώτη ερώτηση σου απλά φρόντισε να ανοιγεις τη νέα φόρμα σε παράθυρο διαλόγου. Έτσι, η εστίαση σε οπιοδήποτε άλλο σημείο της εφαρμογής θα είναι αδύνατη. Αυτό επιτυγχάνεται στο φύλλο ιδιοτητήτων της νέας φόρμας στην καρτέλα "Μορφή" επιλέγοντας "Στυλ περιγράμματος" = "Διάλογος" ή Αν πίσω από το κουμπί που ανοίγει τη νέα φόρμα υπάρχει μακροεντολή, τότε στο όρισμα ενέργειας "κατάσταση παραθύρου", επιλεξε "Παράθυρο διαλόγου" Αν πάλι πρόκειται για Κώδικα VBA τότε η γραμμή του κώδικα που ανοίγει νέα φόρμα θα πρέπει να περιέχει στο έκτο όρισμα της (WindowMode) να περιέχει τη σταθερά "acDialog" δηλ.: DoCmd.OpenForm "formName", , , , , acDialog Στη δεύτερη ερώτηση σου θα σου πρότεινα να ρίξεις μια ματια στον παρακάτω σύνδεσμο: Αποτελέσματα αναζήτησης για "γράφημα access" - Access - Microsoft Office Καλή συνέχεια λοιπόν! Φιλικά Τάσος |
1 Συνημμένο(α) Καλημέρα Τάσο φυσικά και σε ολόκληρη την παρέα. Έκανα τις αλλαγές που πρότεινες αλλά δυστυχώς ούτε η μια λύση δουλεύει ούτε η άλλη.:cry4: Συνημμένα σου στέλνω ένα print screen της κεντρικής φόρμας και του κώδικα στη φόρμα 'Συγκεντρωτικά'. Όπως ανέφερα και χθές όταν κάνω εύρεση με τη λίστα τιμών (ΕΤΟΣ) όλα ΟΚ όμως μόλις ανοίξω π.χ. τη φόρμα 'Συγκεντρωτικός Πίνακας' και επιστρέψω πάλι πίσω παίζοντας με τη ροδέλα του ποντικιού αλλάζουν όλες οι τιμές εκτός από το πεδίο 'ΕΤΟΣ'. Γιατί? Ευχάριστω και πάλι που ασχολήθηκες με το πρόβλημα μου, Φιλικά, Ανθή. |
Καλημέρα στην παρέα Ανθή πιστεύω ότι, καθώς περιστρέφεις τη ροδέλα, αλλάζει η τρέχουσα εγγραφή. Αυτό θα μπορούσες να το εξακριβώσεις, αν σε προβολή σχεδίασης και στο φύλλο ιδιοτήτων έκανες τη ρύθμιση: Μορφή > Κουμπιά μετακίνησης > Ναι, για να βλέπεις την τρέχουσα εγγραφή. Νομίζω ότι το πρόβλημα θα λυθεί αν (σε προβολή σχεδίασης) κάνεις τη ρύθμιση: Άλλα > κυκλική εναλλαγή > Τρέχουσα εγγραφή. Φιλικά/Γιώργος |
1 Συνημμένο(α) Καλημέρα Ανθή, Πιστεύω και συμφωνώ με το Γιώργο ότι καθώς περιστρέφεις τη ροδέλα, αλλάζει η τρέχουσα εγγραφή, κάτι που δεν θέλεις να συμβαίνει όταν έχεις ανοίξει τη νέα φόρμα. Μ αυτό το σκεπτικό σου πρότεινα να ανοίξεις τη νέα φόρμα ως διάλογο που μάλλον δεν το έκανες κανονικά. Γιατί αν το έκανες, σε καμία περίπτωση δεν θα είχες τη δυνατότητα να επιστρέψεις στην αρχική σου φόρμα και να κάνεις οτιδήποτε αφού η εστίαση θα διατηρείτο στη νέα φόρμα/διάλογο. Απ ότι παρατηρώ στις εικόνες σου, στον κώδικα που ανοίγει τη νέα φόρμα δεν υπάρχει το έκτο όρισμα (WindowMode) που θα έπρεπε να περιέχει τη σταθερά "acDialog" όπως είχα περιγράψει. Υπάρχει κάτι που δεν κατανόησα στην ερώτηση σου; Δες ένα παραδειγματάκι στο συνημμένο παρακάτω. Φιλικά Τάσος |
Κάνω κάτι λάθος??? Παράθεση:
Πάντως ευχαριστώ πολύ που ασχολήστε με το πρόβλημα μου, το εκτιμώ ιδιαίτερα. Φιλικά, Ανθή. |
Παράθεση:
Καλό μεσημέρι!!!! Ανθή. |
Ανθή, το φόρουμ αυτό υπάρχει για να βοηθά τα μέλη του να εμπλουτίσουν τις γνώσεις τους! Λέγοντας μέλη, εννοώ εσένα το Γιώργο, εμένα και γενικά τον καθέναν από μας που συμμετέχει στις συζητήσεις. Αν δεν μπορέσεις να προχωρήσεις, επισύναψε το αρχείο σου με λίγες παραδειγματικές εγγραφές και με μια μικρή περιγραφή στα σημεία που αντιμετωπίζεις πρόβλημα για να μπορούσαμε να σου δώσουμε μια πιο εύστοχη απάντηση. Καλή συνέχεια! Φιλικά Τάσος |
Τάσο να 'σαι καλά! Μου δίνεις κουράγιο να το παλέψω! Αυτό που πρότεινες θα κάνω, θα σας στείλω ένα δείγμα της βάσης και να δουλέψουμε επί της εφαρμογής. Επείδη το αρχείο μου έχει φτάσει 32ΜΒ πρέπει να το 'καθαρίσω' λίγο και θα σας στείλω δείγμα. Αλήθεια, πως μπορούμε να μειώσουμε το μέγεθος μιας βάσης? Να ενημερώσω ότι δεν έχω μέσα εικόνες, διαγράμματα κλπ... Ευχαριστώ και πάλι! |
1 Συνημμένο(α) Καλημέρα στην παρέα!!! Συνημμένα παραθέτω ένα δείγμα της βάσης μου. Θα εκτιμούσα ιδιαίτερα αν κάποιος μπορεί να επιλύση το πρόβλημα που αντιμετωπίζω.:hmm: Ευχαριστώ εκ των προτέρων. Ανθή. |
1 Συνημμένο(α) Καλημέρα Ανθή! Στο παρακάτω συνημμένο αλλάχτηκαν οι γραμμές του κώδικα VBA: Αρχική γραμμή: DoCmd.OpenForm stDocName, , , stLinkCriteria Μετά την αλλαγή: DoCmd.OpenForm stDocName, , , stLinkCriteria, , acDialog Έτσι, με το όρισμα acDialog ανοίγουν οι φόρμες σου σε παράθυρο διαλόγου και δεν επιτρέπουν την απώλεια της εστίασης τους άρα δεν μπορείς να κάνεις κάτι σε άλλη φόρμα. Είναι αυτό που ζητάς; Φιλικά Τάσος |
Γεια χαρά και πάλι! Δεν θέλω να σε απογοητεύσω αλλά καμιά αλλαγή. Τον κώδικα που έχεις αλλάξει, όπως σου είχα αναφέρει και χθες, το δοκίμασα και δεν άλλαξε κάτι. Μάλλον φταίω εγώ, δεν σας παρουσιάζω με σωστό τρόπο το πρόβλημά μου. Λοιπόν προτείνω το εξής, ακολούθησε τα βήματα που εκτελώ και ‘γω για να καταλάβεις τι εννοώ:
Περιμένω νέα σου, :thanks: Ανθή. |
Ανθή καλησπέρα, παρακολουθώ το συνημένο σου αλλά δεν μου δημιουργεί το πρόβλημα που λες. Δυστυχώς εγώ δεν μπορώ να σου βρώ τι φταίει. Φιλικά, Μάρω |
Καλησπέρα Μάρω, πολύ φοβάμαι ότι μάλλον κάτι γίνεται με τον υπολογιστή μου και την έκδοση του λογισμικού. Θα κάνω και εγώ μια δοκιμή από άλλο σύστημα. Λες τελικά να παιδεύομαι άδικα?:omg2: |
Α! Κάτι ακόμα, Θέλω να δημιουργήσω "εντολές ??? ή ερωτήσεις???" όπου να μπορώ να επιλέξω π.χ. σε συγκεκριμένο 'ΕΤΟΣ' ή συνδυασμό 'ΕΤΩΝ' να μου ζητάει στη συνέχεια 'ΘΕΣΗ' και μετά 'ΠΕΔΙΑ' και κλικάρωντας τα επιθυμητά να τυπώνονται τα αποτελέσματα σε φόρμα ή έκθεση. Καμιά βοήθεια? |
1 Συνημμένο(α) Καλησπέρα στην παρέα Ανθή και Τάσο, επειδή θα πρέπει να υπάρχει αντιστοιχία έτους και τρέχουσας εγγραφής, σκέφτηκα ότι θα ήταν προτιμότερο, αντί να γίνεται αναζήτηση στις εγγραφές, να φιλτράρονται ως προς το έτος. Έτσι έκανα κάποιες μικρές αλλαγές (θα τις δείτε στην εφαρμογή που επισυνάπτω) στον κώδικα AfterUpdate της Λιστας79 στο Load της φόρμας και στην ιδιότητά της Δεδομένα > Κλειδώματα εγγραφών > Χωρίς κλειδώματα. Φιλικά/Γιώργος |
1 Συνημμένο(α) Παράθεση:
Ανθή, για να απενεργοποιήσεις το ροδάκι του ποντικιού (Mouse Wheel) στην Access 2003 προϋποθέτει αρκετές διαδικασίες (λειτουργική μονάδα κλάσης ή συγκεκριμένο αρχείο DLL) και παράλληλα δημιουργεί προβλήματα σε δοκιμές του κώδικα (Debugging). Σου προτείνω να συγχρονίσεις το μη δεσμευμένο πεδίο "Λίστα79" με το "ΕΤΟΣ" της τρέχουσας εγγραφής. Δες το συνημμένο παράδειγμα παρακάτω. Ελπίζω να κατάλαβα το ζητούμενο σου! :dft010: |
Καλημερούδια παιδιά! Τάσο και Γιώργο, πραγματικά δεν έχω λόγια να εκφράσω την ευγνωμοσύνη μου!!! ΕΥΧΑΡΙΣΤΩΩΩΩΩ!!!!!:thanks::thanks: Καλά ε, είστε αστέρια, :respect::respect: Τελικά είτε φίλτρο χρησιμοποιήσω είτε δέσμευση έχω το επιθυμητό αποτέλεσμα. Και να φανταστείτε ότι αυτό μου συμβαίνει σε όλες τις φόρμες αυτής της δομής. Όσο αναφορά τη χθεσινή τελευταία ερώτησή μου, καμιά πρόταση?? Φιλικά, Ανθή. |
Καλησπέρα στην παρέα Ανθή κοίταξα τη βάση που ανέβασες, αλλά δεν μπορώ να πω ότι κατάλαβα τη δομή και τη λογική της. Επειδή εσύ τα γνωρίζεις, θα πρότεινα να αρχίσεις να υλοποιείς αυτό που θέλεις και αν συναντάς κάποια συγκεκριμένη δυσκολία, υπάρχει και το φόρουμ. Σε γενικές γραμμές για να εμφανίσουμε στοιχεία, που ικανοποιούν κάποια κριτήρια: 1. Δημιουργούμε μία φόρμα (κριτηρίων), όπου θα επιλέγονται τα κριτήρια. 2. Ένα ερώτημα με τα πεδία τα οποία θέλουμε να εμφανίζονται και τις συνθήκες που θα ικανοποιούν. Οι συνθήκες υλοποιούνται με τη βοήθεια της φόρμας κριτηρίων. 3. Μία έκθεση, που θα στηρίζεται στο ερώτημα και θα έχει τα στοιχεία, όπως θέλουμε να εκτυπωθούν. 4. Ένα κουμπί στη φόρμα κριτηρίων που θα ανοίγει την έκθεση. Φιλικά/Γιώργος |
| Η ώρα είναι 18:54. |
Ms-Office.gr - ©2000 - 2026, Jelsoft Enterprises Ltd.