| Access - Ερωτήσεις / Απαντήσεις Access + VBA... Εδώ δεν υπάρχουν όρια! |
![]() |
| | Εργαλεία Θεμάτων | Τρόποι εμφάνισης |
|
#1
| |||
| |||
|
Καλημέρα σας. Προσπαθώ να βρω κώδικα VB ώστε να γίνεται η μεταφορά υπολογιζόμενης τιμής (ΣΥΝΟΛΙΚΗ ΑΞΙΑ) στη φόρμα με τον τίτλο ΕΙΔΟΣ ΕΡΓΑΣΙΩΝ ΑΝΑΛΥΤΙΚΟΥ ώστε να μεταφέρεται στη φόρμα με τίτλο ΑΝΟΙΞΕ ΑΥΤΟ, αλλά λόγω του ότι είμαι φτωχός σε γνώσεις σχετικά με τη VB και δυστυχώς ο χρόνος μου πολύ περιορισμένος, θα ήθελα τη βοήθειά σας, όποιος τουλάχιστον έχει την όρεξη και τον χρόνο φυσικά. Σας ευχαριστώ. |
|
#2
| |||
| |||
|
Καλησπέρα σας. Φίλε μου, Γιώργο. Είδα ότι έχεις 3 πίνακες οι οποίοι δε συνδέονται κάπως μεταξύ τους. Αυτό σημαίνει ότι δεν υπάρχει σχέση μεταξύ των δεδομένων τους. Οπότε όποια πράξη μαθηματική κι αν κάνεις δε θα μπορέσεις να τη συσχετίσεις με τα όποια δεδομένα. Οι πίνακές σου δεν έχουν κλειδιά οπότε υπάρχει πρόβλημα επειδή παραβιάζονται οι κανόνες ακεραιότητας. Για να καταλάβεις τί εννοώ: * Για να έχεις σωστά αποτελέσματα και η βάση να μη λειτουργεί ως σημειωματάριο ή φύλλο εργασίας θα πρέπει να υπάρχουν κλειδιά που θα συνδέουν τους πίνακες 1-Ν, 1-Μ-1 και λιγότερο συχνά 1-1. Εδώ δεν υπάρχουν καν κλειδιά στους πίνακες. Αν ξέραμε τί θέλεις μπορούμε να διορθώσουμε τους πίνακες. * Στη φόρμα "ΕΙΔΩΝ ΕΡΓΑΣΙΩΝ ΑΝΑΛΥΤΙΚΟΥ" που βασίζεται στον πίνακα "ΕΙΔΩΝ ΕΡΓΑΣΙΩΝ ΑΝΑΛΥΤΙΚΟΥ" και μέσα έχεις δευτερεύουσα φόρμα η οποία είναι πολλών εγγραφών αλλά βασίζεται στον ίδιο πίνακα! Δε γίνεται αυτό. Δε γίνεται σχέση 1-Ν με τα δεδομένα 1 πίνακα μόνο. Μπορούμε να αντιγράψουμε "ΣΥΝΟΛΙΚΗ ΑΞΙΑ", αλλά σε ποια εγγραφή της φόρμας ΑΝΟΙΞΕ ΑΥΤΟ θα εμφανίζεται; Το θέμα δεν είναι πώς θα αντιγραφεί αλλά ποια είναι η σχέση του υπολογισμού με τα δεδομένα της άλλης φόρμας που δεν έχουν κάποια ορατή σχέση ή κλειδί για να σχετιστούν. Θα ήταν καλό να ξέραμε τις σχέσεις για να κάνουμε τη διαδικασία ευκολότερη. Αν δε συσχετιστούν τα δεδομένα των πινάκων δε μπορούμε να έχουμε κάποια αποδεκτή για βάση δεδομένων λύση. Αν τώρα θέλεις απλά να αντιγράφεις το ποσό αυτό και να το επικολλάς στην άλλη φόρμα τότε αυτό μπορεί να γίνει με copy/paste. Επίσης θα μπορούσε να γίνει και μια προσωρινή μεταβλητή η οποία θα παίρνει τη συγκεκριμένη τιμή από την πρώτη φόρμα και θα μηδενίζεται κατά την επικόλληση στη δεύτερη φόρμα. Αυτό βέβαια δεν είναι αποδεκτό από τη νοοτροπία μιας βάσης δεδομένων. Αυτά από μένα. |
|
#3
| |||
| |||
|
Καλημέρα. Ευχαριστώ για το ενδιαφέρον και το χρόνο που διέθεσες. (Ας μιλάμε στον ενικό.) Τροποποίησα το αρχείο και έκανα διασύνδεση των πινάκων. Υπάρχει εντολή VBA για να περνάω τιμή από την φόρμα ΕΙΔΩΝ ΕΡΓΑΣΙΩΝ ΑΝΑΛΥΤΙΚΟΥ, (ΣΥΝΟΛΙΚΗ ΑΞΙΑ) στην φόρμα ΑΝΟΙΞΕ ΑΥΤΟ στο ΑΝΑΛΥΤΙΚΟΣ-με υπολογισμό; Μου δουλεύει αλλά χωρίς εντολή VBA. (κάνε κλικ στο ΥΠΟΛΟΓΙΣΜΟΣ ΑΝΑΛΥΤΙΚΟΥ, μετά ανοίγει η φόρμα ΕΙΔΩΝ ΕΡΓΑΣΙΩΝ ΑΝΑΛΥΤΙΚΟΥ, επιλέγω κάποια εργασία από τον πίνακα που είναι αριστερά, βάζω τιμή στην ποσότητα (μπλε πλαίσιο) και περνάει η τιμή αφού κλείσω την φόρμα, στο ΑΝΟΙΞΕ ΑΥΤΟ). Αν μπορεί να βελτιωθεί ή να αυτοματοποιηθεί διαφορετικά θα επιθυμούσα πολύ να δω τον τρόπο. Φιλικά Γιώργος. Τελευταία επεξεργασία από το χρήστη geopouri : 31-10-24 στις 09:24. Αιτία: ανέβασμα αρχείου |
|
#4
| |||
| |||
|
Καλησπέρα, Γιώργο. Η βάση όπως είναι, το ξαναλέω, δεν είναι κανονικοποιημένη. Δε θα έχεις ποτέ σωστά αποτελέσματα. Δε γίνεται να έχει ένα πίνακα (1.) (ΕΙΔΩΝ ΕΡΓΑΣΙΩΝ ΑΝΑΛΥΤΙΚΟΥ) με 154 εγγραφές με κλειδί τον (ΚΩΔΙΚΟ) που δεν είναι κλειδί, γιατί δε δηλώθηκε κλειδί, επειδή εάν πας να το δηλώσεις θα σου πει ότι δε γίνεται να είναι το μοναδικό κλειδί και να είναι το ίδιο σε όλες τις εγγραφές (154) και να να τον συνδέεις 1-1 με τον πίνακα (2.) (ΥΠΟΛΟΓΙΣΜΟΣ ΚΡΑΤΗΣΕΩΝ) που έχει 1 εγγραφή. Αυτό είναι παράλογο. Ουσιαστικά σημαίνει ότι όλες οι εγγραφές σου στον πρώτο πίνακα είναι το ίδιο, και ότι έχουν τον ίδιο πάντα υπολογισμό. Σου έβαλα στο ερώτημα που έχεις τους κωδικούς των δύο πινάκων με 1-1 σχέση όπως τους έχεις. Συμπλήρωσα τα πεδία από τον πίνακα (1.) ΠΟΣΟΤΗΤΑ και ΑΞΙΑ και έκανα τον πολλαπλασιασμό Στο πεδίο ΣΥΝΟΛΙΚΗ ΑΞΙΑ. Από τη στιγμή όμως που έχεις τους πίνακες με 1-1 και ο μόνος αριθμός είναι το 1 σε όλες τις εγγραφές θα βλέπεις πάντα το ίδιο αποτέλεσμα. Πέρασα τα πεδία και στις φόρμες. Έβαλα κουμπί να ανοίγει την "ΑΝΟΙΞΕ ΑΥΤΟ" βάσει του "ΥΠΟΤΙΘΕΜΕΝΟΥ" κλειδιού. Θα ανοίγει πάντα το ίδιο. Γιατί το 1 είναι ο μόνος αριθμός. Έβαλα λαο στη φόρμα "ΑΝΟΙΞΕ ΑΥΤΟ" τα αντίστοιχα πεδία. Τα οποία είναι τα ίδια όπως εξήγησα πάλι πριν. Θα την είχα διορθώσει εάν ήξερα τί είναι το καθετί και τί θέλεις ως αποτέλεσμα. Για να μη κάνουμε υποθέσεις και σχεδιάζουμε για κάθε μια περίπτωση τί πρέπει να γίνει, δώσε μια καλή περιγραφή του τί θα δίνεις και τί θα θέλεις από την εφαρμογή. Αυτό είναι το πιο δημιουργικό που μπορεί να γίνει για να τιμήσεις και να εκμεταλλευτείς τις δυνατότητες μιας βάσης. Εάν πάλι δε θέλεις να μπεις στη φασαρία και θέλεις μια πρόχειρη λύση: α) Κράτα σημειώσεις σε excel (καλύτερη πρακτικά λύση μιας και έχεις ένα πίνακα με πολλές στήλες που μόνο κάνουν έναν πολλαπλασιασμό. Αυτό καταλαβαίνει κάποιος αν δε ξέρει τί θέλεις να κάνεις.) β) Όπως είπα και στο προηγούμενο μήνυμα: Να αντιγράφει την τρέχουσα τιμή από το ένα πεδίο της φόρμας (1.) και να το επικολλά στη φόρμα (2.). Το έκανα για σένα. Άνοιξε τη φόρμα (1.) βάλε τις τιμές που θέλεις βρες τη συνολική ποσότητα, πάτα το κουμπί που έβαλα "Αποθήκευσε..." θα βγει μήνυμα ότι η τιμή αποθηκεύτηκε, πάτα το άλλο κουμπί που έβαλα "Άνοιξε Αυτό" (κανονικά θα ανοίγει τη σχετική εγγραφή εάν δεν υπήρχε πρόβλημα σύνδεσης με τους κωδικούς) θα σου ανοίξει τη φόρμα "Άνοιξε Αυτό" και θα επικολλήσει στη φόρμα αυτή στο πεδίο που έβαλα "Συνολική Αξία" Ελπίζω να βοήθησα σε αυτό που βιάζεσαι. Για οποιαδήποτε ερώτηση για διευκρίνηση είμαι εδώ. |
![]() |
« Προηγούμενο Θέμα
|
Επόμενο Θέμα »
| |
| ||||
| Θέμα | Δημιουργός | Forum | Απαντήσεις | Τελευταίο Μήνυμα |
| [ Φόρμες ] Μεταβίβαση τιμής πεδίου από φόρμα σε φόρμα | vraxnakisg | Access - Ερωτήσεις / Απαντήσεις | 8 | 01-02-16 07:58 |
| Αντιγραφή εγγραφής σε άλλη φόρμα | jimrenoir | Access - Ερωτήσεις / Απαντήσεις | 3 | 10-12-15 17:09 |
| [ Φόρμες ] Μετάβαση από μια φόρμα σε άλλη | Χρήστος | Access - Ερωτήσεις / Απαντήσεις | 3 | 04-07-13 16:20 |
| Καταχώρηση δεδομένων σε φόρμα, από άλλη φόρμα που εμφανίζεται με cmd_button | alladin78s | Access - Ερωτήσεις / Απαντήσεις | 2 | 14-02-12 09:08 |
| [ Φόρμες ] Πεδίο απο άλλη φόρμα / πίνακα | crc | Access - Ερωτήσεις / Απαντήσεις | 6 | 11-01-10 20:12 |
Η ώρα είναι 06:18.


Αλλαγή σε γραμμικό τρόπο

