Access - Ερωτήσεις / Απαντήσεις Access + VBA... Εδώ δεν υπάρχουν όρια! |
| Εργαλεία Θεμάτων | Τρόποι εμφάνισης |
#1
| |||
| |||
Αυτόματη ενημέρωση πεδίων φόρμας
Καλημέρα σε όλους είμαι καινούριο μέλος του φόρουμ. Θα προσπαθήσω να εξηγήσω τί ακριβώς προσπαθώ να κάνω Έχω 1 φόρμα έστω frmParent και την subfrmParent που είναι η υποφόρμα της. Η frmParent έχει 2 textboxes tb1 kai tb2 ανάλογα με την τιμή που πληκτρολογούμε στο tb1 παίρνει τιμή το tb2. Θα ήθελα η τιμή του tb2 να προστίθεται σε κάποιο TextBox έστω subfrmParent.tb2 της ενσωματωμένης φόρμας. Υπόψιν ότι όλα τα πεδία κατά το άνοιγμα της φόρμας παίρνουν αρχικές τιμές από τη βάση αλλά δεν είναι bound σε κάποιο πίνακα. Όταν κλείνω τη φόρμα ενημερώνω τότε τα κατάλληλα πεδία με recordset Υπάρχει κάποιος τρόπος να φτιάξουμε κάτι τέτοιο; Πχ. στο Excel όταν βάλεις τύπο σε ένα κελί και ενημερώσεις τα κελιά που περιέχει ο τύπος, ενημερώνεται και το κελί προορισμού Ευχαριστώ |
#2
| |||
| |||
Καλημέρα Γιάννη, καλωσόρισες στην παρέα μας. Για την υλοποίηση του ζητούμενου δοκίμασε τα εξής: 1) Στην προέλευση στοιχείου ελέγχου του πλαισίου κειμένου Tb2 της δευτερεύουσας φόρμας subfrmParent βάλε τον τύπο: =[Forms]![frmParent]![Tb2] 2) Στο συμβάν μετά την ενημέρωση του πλαισίου κειμένου Tb2 της κύριας φόρμας frmParent, γράψε τον κώδικα: Me!subfrmParent.Form.Tb2.Requery Ο κώδικας χρειάζεται για να ενημερώνεται αυτόματα το Tb2 της δευτερεύουσας φόρμας από το Tb2 της κύριας. Είναι σαν να περνούμε, στο excel, από τον χειροκίνητο υπολογισμό στον αυτόματο. Μετά από την υλοποίηση των παραπάνω, αν πληκτρολογήσουμε κάτι στο Tb2 της κύριας φόρμας και μετακινηθούμε σε άλλο χειριστήριο (ή πατήσουμε Enter) θα αντιγραφεί και στο Tb2 της δευτερεύουσας φόρμας. Φιλικά/Γιώργος |
#3
| |||
| |||
Καλημέρα Γιάννη καλώς μας ήλθες... Κάνε μια συμπίεση και ενδεχομένως μια προσαρμογή της εφαρμογής σου (Όχι ευαίσθητα δεδομένα) και ανέβασέ την στο Forum. Ότι ζητάς γίνεται αλλά είναι προτιμότερο κάποιος να στο φτιάξει παρά να περιγράψει βήμα - βήμα πως γίνεται. Περιμένουμε να σε διαβάσουμε. Φιλικά Νικόλας ΩΧ ! Συγνώμη Γιώργη... |
#4
| |||
| |||
Λοιπόν το καλύτερο είναι να σας πω κατευθείαν πως δουλεύει η εφαρμογή που φτιάχνω... Έχω μια εφαρμογή που θέλει να διαχειρίζεται τις βάρδιες εργαζομένων.Αμα ανοίξετε την φόρμα frmProcessPeriod και πλοηγηθείτε στην τελευταία περίοδο με τα κουμπιά περιήγησης επιλέξτε μια ημερομηνία και έναν εργαζόμενο και πατήστε το κουμπί 'Επεξεργασία Εργαζομένου' Τότε ανοίγει η φόρμα frmProcessEmpl. Αυτή η φόρμα διαβάζει από τη ΒΔ για την τρέχουσα περίοδο τις τιμές που αφορούν την επιλεγμένη ημερομηνία για τον τρέχοντα εργαζόμενο και τις αναλύει ανά κατηγορία πχ. υπερωρίες, πρόσθετη εργασία κλπ. Η φόρμα δεν είναι bound επικοινωνεί με recordsets. Επίσης έχω κάποιες subforms που είναι καθαρά πληροφοριακού σκοπού, δηλαδή δείχνουν ανάλυση της μηνιαίας κίνησης για τον εργαζόμενο, ανά βδομάδα και ανα μήνα Ο χρήστης πρέπει να μπορεί να μεταβάλλει τις ώρες εργασίας ανα μέρα, το πρόγραμμα να του υπολογίζει υπερωρίες, υπερεργασία κλπ και να ενημερώνεται η ΒΔ. Αυτό το κομμάτι γίνεται μια χαρά. Θα ήθελα όμως για λόγους ευχρηστίας να ενημερώνονται οι subforms με το που αλλάζει η τιμή των ωρών εργασίας. Αν δεν γίνεται άμεσα τουλάχιστον να μπορεί ο χρήστης να έχει ένα κουμπί 'Ανανέωση φόρμας' και να εκτελείται αυτή η λειτουργία. Η λύση που πρότεινε ο kapetang δεν με αφήνει να φορτώνω τις αρχικές τιμές με recordset γιατί κάνω το TextBox bound. Σκέφτηκα να βάλω πχ. στην subfrmqSelectAthrWeek στο [prosthetiVal] τον τύπο Κώδικας: =[Forms]![frmProcessEmpl]![tbProstheti]+DLookUp("prosthetiVal";"athroistes_week";"[athroistes_week]![weekNo]=" & getWeekid()) Ποιο είναι το πρόβλημα τώρα: Αν ο χρήστης ανοίξει την ίδια ημνία τον ίδιο εργαζόμενο, θα φορτώσω στη φόρμα στο tbProstheti την (μη μηδενική) τιμή που είχε περαστεί γι την πρόσθετη εργασία σε προηγούμενη χρονική στιγμή, οπότε στο subfrmqSelectAthrWeek.Form.prosthetiVal είναι σαν να το εμφανίζω 2 φορές Ελπίζω να πήρατε μια ιδέα του τί θέλω να κανώ. Αν έχετε χρόνο ρίξτε μια ματιά ευχαριστώ εκ των προτέρων! Γιάννης |
#5
| |||
| |||
Καλημέρα Αγαπητέ Γιάννη, ομολογώ ότι μπερδεύτηκα. Στο προηγούμενο μήνυμά σου ζητούσες να ενημερώνεται αυτόματα ένα πεδίο μιας δευτερεύουσας φόρμας, από κάποιο πεδίο της κύριας φόρμας. Γράφεις: Παράθεση:
Στο δεύτερο μήνυμά σου γράφεις: Παράθεση:
Παράθεση:
Γενικά δεν μπόρεσα να αντιληφθώ πλήρως τον τρόπο υπολογισμού των διάφορων κατηγοριών εργασίας κατά εργαζόμενο και ημερομηνία και τη γενικότερη λογική της ΒΔ. Έχω τη γνώμη όμως ότι θα μπορούσες να αποφύγεις τον περισσότερο κώδικα και θα περιόριζες τα προβλήματα, αν χρησιμοποιούσες τις ευκολίες που παρέχει η access (δεσμευμένες φόρμες και στοιχεία ελέγχου, συνδεδεμένες φόρμες και δευτερεύουσες φόρμες, κλπ). Φιλικά/Γιώργος Τελευταία επεξεργασία από το χρήστη kapetang : 25-06-12 στις 10:24. |
#6
| |||
| |||
Καλημέρα Είναι πράγματι "ανορθόδοξος" ο τρόπος ανάπτυξης της εφαρμογής του φίλου μας. Φίλτρα ήμερομηνιών κατά την φάση εισαγωγής δεδομένων. Φόρμες εμφάνισης στατιστικών στοιχείων να συνυπάρχουν με φόρμα εισαγωγής στοιχείων. Φόρμες που ο φίλος μας βάφτησε υποφόρμες, χωρίς να είναι επι της ουσίας. Καμμιά εκμετάλευση των δυνατοτήτων της access... Για να βοηθήσω λίγο τον φίλο μας τον Γιάννη. Αν θες να εμφανίσεις μια πληροφορία κάπου στο πρόγραμμά σου, φτιάξε μια public μεταβλητή και φόρτωσε σε αυτή την πληροφορία την στιγμή που γεννιέται ως πληροφορία. Έστι σε όποιο σημείο του προγράμματος μπορείς να την καλέσεις και να την εμφανίσεις ή ότι άλλο! Δεν μπορώ να προσθέσω κάτι άλλο... Φιλικά Νικόλας |
#7
| |||
| |||
Καλημέρα, όντως είναι αρκετά μπερδεμένος ο τρόπος ανάπτυξης Θέλω να κάνω 2 γενικότερης φύσης ερωτήσεις Θα ήθελα να εισάγω/διορθώνω στοιχεία που αφορούν συγκεκριμένη ημερομηνία. Αυτό πως μπορεί να γίνει χωρίς φίλτρο ημερομηνίας κατά την εισαγωγή στοιχείων; Παράθεση:
Ευχαριστώ για τη βοήθεια Γιάννης |
#8
| |||
| |||
Καλημέρα Όταν φτιάχνεις μια βάση, τότε σκέφτεσαι "Τι θέλω να περιέχει η βάση" μετά "Ποιούς πίνακες θα κάνω", ώστε τα δεδομένα να είναι οργανωμένα, μετά "Πως θα συνδέσω τους πίνακες" για να φτιάξω με ευχέρεια ερωτήματα και τέλος "πως θα παρουσιάζω" τα στοιχεία (πληροφορίες). Λοιπόν! Στην εισαγωγή δεδομένων να υπάρχει ένα πεδίο ημερομηνίας. Ο χρήστης μπορεί να εισάγει όποια ημερομηνία θελήσει. Αν όμως πρέπει η ημερομηνία -για παράδειγμα- να είναι (+) ή (-) 5 ημέρες από την τρέχουσα, τότε βάζεις κώδικα που δεν κάνει αποδεκτή την εισαγωγή του χρήστη ή του εμφανίζει κάποιο μήνυμα. Φίλτρα δίνεις στον χρήστη για τις παρουσιάσεις (οθόνη ή εκτυπωτή). Η μοντέρνα σχεδίαση απαιτεί για την εισαγωγή/διόρθωση φόρμες και υποφόρμες (συνήθως σε καρτέλες). Οι παρουσιάσεις πληροφοριών γίνονται από αναδυόμενες φόρμες ύστερα από κλικ σε κάποιο κουμπάκι μονίμως εμφανιζόμενο ή ύστερα από επιλογή σε comboBox. Αυτά αγαπητέ μας Γιάννη Με εκτίμηση Νικόλας Τελευταία επεξεργασία από το χρήστη Meteora : 25-06-12 στις 16:32. |
#9
| |||
| |||
Έγινε Νίκο ευχαριστώ για τις συμβουλές! Θεώρησα καλό να κάνω το φιλτράρισμα με ημερομηνία δεδομένου ότι ο χρήστης που θα κάνει το data entry έχει τη λογική αλληλουχία στο μυαλό του ότι επιλέγω την ημερομηνία και το πρόσωπο που θέλω να μεταβάλλω και μετά συμπληρώνω τα στοιχεία για το συγκεκριμένο πρόσωπο τη συγκεκριμένη ημερομηνία. Εν τούτοις η ημερομηνία όντως μπορεί να συμπληρώνεται μαζί με τα επόμενα στοιχεία... Τώρα σε ότι αφορά την παρουσίαση συγκεντρωτικών στοιχείων υποθέτω πως θα πρέπει να αποδεσμευτεί από την εισαγωγή δεδομένων και να γίνεται για παράδειγμα στην γονική φόρμα της φόρμας που κάνει εισαγωγή δεδομένων. Ευχαριστώ και καλό μεσημέρι |
« Προηγούμενο Θέμα
|
Επόμενο Θέμα »
| |
Παρόμοια Θέματα | ||||
Θέμα | Δημιουργός | Forum | Απαντήσεις | Τελευταίο Μήνυμα |
ενημέρωση πεδίων με το κλείσιμο της κύριας φόρμας | γιώργοςΚ | Access - Ερωτήσεις / Απαντήσεις | 0 | 09-06-14 15:03 |
[ Πίνακες ] Αυτόματη ενημέρωση πεδίων μεταξύ πινάκων | gpapad | Access - Ερωτήσεις / Απαντήσεις | 2 | 01-06-14 11:31 |
Αυτόματη ενημέρωση πεδίων μεταξύ δύο πινάκων | marpapa | Access - Ερωτήσεις / Απαντήσεις | 5 | 23-05-12 11:48 |
Αυτόματη ενημέρωση πεδίων σε σύνθετο πλαίσιο | ndplus | Access - Ερωτήσεις / Απαντήσεις | 2 | 07-02-10 00:59 |
Η ώρα είναι 21:26.