![]() |
Χρήση ίδιου κώδικα σε πολλές φόρμες αλλά γραμμένος σε μιά μόνον Module 1 Συνημμένο(α) Γειά σας Στο παρακάτω συνημμένο (απλοποιημένο παράδειγμα βάσης), υπάρχουν τρεις φόρμες. Σε κάθε φόρμα υπάρχει ένα κουμπί εντολής όπου με ανάλογο κώδικα καλείται μιά τρίτη φόρμα. Ο κώδικας βρίσκεται σε μια Module.(διότι δε θέλουμε να ξαναγράφεται σε κάθε εντολή) Ωστόσο, ο κώδικας δε λειτουργεί κατ' αυτόν τον τρόπο. Πώς θα είναι δυνατόν να διορθώσουμε - τροποποιήσουμε τον εν λόγω κώδικα προκειμένου να λειτουργεί για όλες τις υπάρχουσες φόρμες? Σε κάθε περίπτωση, θέλουμε ο τρέχων κώδικας να βρίσκεται γραμμένος σε μιά μόνον Module! Σας ευχαριστώ εκ των προτέρων |
1 Συνημμένο(α) Καλησπέρα Δημήτρη, Δες το αρχείο, πιστεύω να είναι αυτό που θέλεις. Ευχαριστώ. |
1 Συνημμένο(α) Καλησπέρα Γιώργο, σ' ευχαριστώ για την άμεση πρότασή σου. Αλλά δε λειτουργεί, δηλαδή πατώντας το κουμπί δεν αναδύεται η φόρμα "FORM" η οποία να εμφανίζει τη συγκεκριμένη εγγραφή που απαιτεί ο κώδικας... Ανεβάζω εκ νέου το αρχείο στο οποίο διορθώθηκε το όνομα της φόρμας "FORM" σε frmFinal (που είναι και το σωστό) |
1 Συνημμένο(α) Καλησπέρα Δημήτρη, Αν κατάλαβα καλά αυτό πρέπει να είναι το ζητούμενο. Ευχαριστώ. |
Καλησπέρα Πράγματι, Γιώργο, αυτό είναι!!! Ευχαριστώ, νάσαι καλά, καλή συνέχεια... |
1 Συνημμένο(α) Καλησπέρα Γιώργο, μιά ακόμη βοήθεια, αν μπορείς: Όταν έχουμε τις φόρμες σε μορφή "περιήγησης" ο κώδικας χτυπάει στο Set frm = Forms(frmName)... Έχεις καμιά ιδέα γιαυτό? Ανεβάζω σχετικό παράδειγμα. |
Καλήμερα Δημήτρη, Πρέπει να διορθώσεις τα ονόματα των αντικείμενων σου (Φόρμες). Δεν καταλαβαίνω την δομή των φορμών και δεν έχω καταλάβει ακόμα τι προσπαθείς να κάνεις. Αν Θέλεις περιέγραψε τι προσπαθείς να κάνεις. Ο κώδικας βγάζει λάθος γιατί δεν βρίσκει το αντικείμενο. Ευχαριστώ. |
1 Συνημμένο(α) Γειά σας Γιώργο, θα προσπαθήσω να εξηγήσω "χονδρικά" τι προτίθεμαι να δημιουργήσω: Προσπαθώντας να ταξινομήσω τις φόρμες μου, ανάλογα με το αντικείμενό τους, σκέφτηκα να χρησιμοποιήσω καρτέλες οριζόντιες και κάθετες με τον ακόλουθο τρόπο: Στη γραμμή εργαλείων επέλεξα Δημιουργία > Περιήγηση > Οριζόντιες καρτέλες. Έτσι δημιουργήθηκε μιά φόρμα περιήγησης. Σε αυτή, σε προβολή διάρθρωσης, τοποθέτησα διάφορες σχετιζόμενες φόρμες. Καθ' όμοιο τρόπο δημιούργησα άλλη φόρμα περιήγησης με κάθετες καρτέλες κλπ. Δεν ξέρω αν ο τρόπος που επιχείρησα να ταξινομήσω τις φόρμες είναι και ο καλύτερος. Διότι, όταν επιχείρησα να τοποθετήσω την ίδια εντολή που επαναλαμβάνεται σε πολλές Modules σε μία Module, όπως περιγράφηκε σε παραπάνω μηνύματα, παρουσιάστηκε πρόβλημα: Όταν η κάθε φόρμα είναι μόνη της η εντολή λειτουργεί τέλεια ενώ, αντίθετα, όταν η κάθε φόρμα είναι μέσα στη φόρμα περιήγησης δε λειτουργεί. Ελπίζω να αποσαφήνησα ποιά είναι η φιλοσοφία της εν λόγω προσπάθειας. Ανεβάζω εκ νέου ένα ακόμη δείγμα για πληρέστερη κατανόηση του σχεδιασμού. Σε κάθε περίπτωση, σ' ευχαριστώ γιά την ενασχόλησή σου με το θέμα μου. |
1 Συνημμένο(α) Καλησπέρα Δημήτρη, Συγνώμη για την καθυστέρηση της απαντήσεως μου. "Αν και δεν συμφωνώ με τον τρόπο που πας να φτιάξεις την διαχείρισή των φορμών" Δες το αρχειο. Πρώτα από όλα να σου πω ότι έχω αλλάξει τα ονόματα των φορμών για ευκολία στον κώδικα. Έχω φτιάξει δυο Function την test και test1 κάνουν ακριβώς το ίδιο πράγμα αλλά η διαφορά τους είναι στον κώδικα. Το πρόβλημα στο να μεταχειριστείς ένα αντικείμενο που είναι πάνω σε ένα άλλο αντικείμενο θα πρέπει να ορίσεις την πλήρη διαδρομή του αντικειμένου π.χ. Main!MangForm!SubFormExplor![ID] . Παρατήρησε όταν έχεις επιλέξει την καρτέλα Form1 και πατήσεις το cmd1 θα δεις ότι ανοίγει η φόρμα frmFinal εκτελώντας την ρουτίνα test και αφού την κλείσεις ανοίγει ξανά εκτελώντας την ρουτίνα test1. Αν το ζητούμενο σου είναι να ανοίγει η φόρμα frmFinal από οποιαδήποτε φόρμα στην φόρμα περιηγήσεις και να σου παρουσιάζει την τρέχουσα εγγραφή πιστεύω ότι σε καλύπτει η Function test1 . Μελέτησε τον κώδικα και αν θέλεις οτιδήποτε είμαι στην διάθεση σου. Ευχαριστώ. |
Καλησπέρα Γιώργο, σε υπερευχαριστώ γιά τη βοήθειά σου. Η πρότασή σου με κάλυψε επαρκώς. Θα προσαρμόσω ανάλογα τον κώδικα και θα επανέλθω. Ωστόσο, με προβλημάτισες διότι δε συμφωνείς με τον τρόπο που προτίθεμαι να διαχειριστώ τις Φόρμες. Τι άλλο θα μπορούσα να κάνω? Σκέφτηκα να κάνω σελιδοδείκτες. Αλλά, νομίζω, είναι το ίδιο περίπου πράγμα. Συμπερασματικά, προσπαθώ να ταξινομήσω τις φόρμες κατά ομάδες με τις αντίστοιχες υποομάδες έτσι ώστε, όταν επιλέγω μιά γενική ομάδα να μπορώ, στη συνέχεια, να επιλέγω κάποια από τις σχετιζόμενες με αυτή υποομάδα. Αν δεν κάνω κατάχρηση, θα είχες την καλοσύνη να προτείνεις κάτι διαφορετικό? |
| Η ώρα είναι 19:32. |
Ms-Office.gr - ©2000 - 2026, Jelsoft Enterprises Ltd.