Access - Ερωτήσεις / Απαντήσεις Access + VBA... Εδώ δεν υπάρχουν όρια! |
| Εργαλεία Θεμάτων | Τρόποι εμφάνισης |
#1
| |||
| |||
Ταξινόμηση ABC
Καλημέρα σε όλους Θα ήθελα την βοήθεια σας στο παρακάτω πρόβλημα: εχω ενα πίνακα db με 2 στήλες α) προίόντα και β) αξία προϊόντων θα ήθελα στο ερώτημα dbvs που εχει ταξινιμηθει κατα φθίνουσα αξία προϊόντων να παίρνω τα παρακατω αποτελέσματα σε δυο στήλες ή ξεχωριστα ερωτηματα: α) χαρακτηρισμός των προίόντων σε ABC ανά πλήθος κωδικών Α= τα πρώτα 20%, Β=τα επόμενα 20% και Ψ= τα υπόλοιπα 60% β) χαρακτηρισμός των προϊόντων σε ABC ανα μερικό αθροισμα των αξιών Α=το πρώτο 80%, Β= το επόμενο10%, και C= το υπόλοιπο 10% των αξιών ευχαριστώ |
#2
| |||
| |||
Καλημέρα Το θέμα σου λύνεται πολύ εύκολα στο Excel. Προτείνω, συνεπώς, να δημιουργήσεις νέο θέμα στην ενότητα του Excel. |
#3
| |||
| |||
Καλημέρα Οι πληροφορίες που προσπαθώ να αντλήσω απο το παραπανω ειναι μέρος μιας πεπερασμένης σειράς ενεργειών φτιαγμένες όλες στην access, Συνεπώς θα πρέπει να κάνω export και import μεγαλο ογκο δεδομέμων με οτι σημαινει αυτό σε λάθη, χρονο, μη αυτοματισμό. θα μπορούσες σε παρακαλώ να με βοηθήσεις να το λύσω με access? Σε ευχαριστώ |
#4
| |||
| |||
Η λύση που ζητάς απαιτεί αρκετή δουλειά. Επίσης η κατηγοριοποίηση με βάση το τρέχον άθροισμα (που είναι πάντα ταξινομημένο σε αύξουσα σειρά) είναι μπερδεμένη και επισφαλής. Θα προσπαθήσω. |
#5
| |||
| |||
Καλησπέρα Δες μια πρόταση στο συνημμένο. 1) Στον πίνακα db πρόσθεσα τα πεδία CurSum, amABC και curABC, για την αποθήκευση του τρέχοντος αθροίσματος και των κατηγοριών ανάλογα με το amount και το curSum. 2) Πατώντας το κουμπί της φόρμας frmCategories τρέχει κώδικας ο οποίος: Αφού διαγράψει τις παλιές τιμές των πεδίων CurSum, amABC και curABC, υπολογίζει το CurSum. Στη συνέχεια τρέχει τα κατάλληλα ερωτήματα για τη δημιουργία των κατηγοριών A, B και C στις στήλες amABC και curABC. 3) Επισημαίνω ότι το τρέχον άθροισμα (CurSum) από τη φύση του έχει αύξουσα ταξινόμηση. Έτσι τα ποσοστά που έδωσες για τη φθίνουσα ταξινόμηση (80% για A, άλλα 10% για B και άλλα 10% ) τα άλλαξα στα αντίστοιχα (10% για C, άλλα 10% για B, άλλα 80% για A). 4) Στον επεξεργαστή του κώδικα, αν δεν υπάρχει, θα πρέπει να προστεθεί αναφορά στη βιβλιοθήκη: Microsoft office 14.0 Access database engine object. Το 14.0 αλλάζει ανάλογα με την έκδοση του office (το 14.0 είναι για το 10). Για την προσθήκη της αναφοράς, στον επεξεργαστή του κώδικα επιλέγουμε: Tools > References… |
#6
| |||
| |||
Καλησπέρα Γιώργο Πριν ξεκινήσω σε ευχαριστώ θερμα για την πολυτιμη βοηθεια σου. Απο οσο καταλαβα έχουμε: amABC χαρακτηρισμός με βάση το πλήθος των κωδικών και σε ταξινόμηση το amount (αυξουσα ή φθίνουσα) νομιζω τρεχει σωστα. CurSum μερικό αθροισμα της στήλης amount. Νομίζω οτι εδω υπάρχει θεμα διοτι τα μερικά αθροισματα βγαινουν με ταξινόμηση της στήλης materialcode και οχι του amount, οπότε το CurABC χαρακτηρισμός με βάση τα μερικά αθροίσματα του amount στην στήλη CurSum δεν ειναι σωστό. Συνεπώς θεωρω οτι το πρόγραμα θα δουλευε τέλεια αν το CurSum δουλευε σε ταξινόμιση του amount και οχι του materialcode Νομιζω να καταφερα να σου μεταφέρω σωστα την σκέψη μου |
#7
| |||
| |||
Καλημέρα Γιάννη Επειδή τα μερικά αθροίσματα αλλάζουν ανάλογα με την ταξινόμηση των εγγραφών, μπορεί να οδηγηθούμε σε αναντιστοιχίες και μπερδέματα. Συνιστώ να μη χρησιμοποιούνται σε αναλύσεις του ζητούμενου τύπου. Λόγω αυτού του μειονεκτήματος θεώρησα πιο λογικό (στο προηγούμενο αρχείο) τα μερικά άθροισμα να υπολογίζονται με τη σειρά εισαγωγής των εγγραφών στον πίνακα db (ID). Στο συνημμένο άλλαξα τον κώδικα και τα μερικά αθροίσματα (CurSum) υπολογίζονται με τις εγγραφές ταξινομημένες, ως προ το πεδίο amount, σε φθίνουσα σειρά. Πρόσθεσα το ερώτημα test στο οποίο η ταξινόμηση γίνεται κατά φθίνουσα σειρά του amount. Συνεπώς εδώ μπορούμε να δούμε, αν υπολογίστηκαν σωστά τα μερικά αθροίσματα (CurSum) και οι χαρακτηρισμοί amABC και curABC. |
#8
| |||
| |||
Καλησπέρα Γιώργο και πάλι σε ευχαριστώ πολύ για την ενασχόληση σου με το θέμα μου. Βασιζόμενος στην λύση που μου προτεινεις ( πιθανότατα δεν σου έχω δώσει να καταλαβεις σωστά το ζητούμενο) προχώρησα λίγο περισσότερο και προτεινω μια λύση που θέλω να την δεις και βασίζεται σε συνδιασμό του κωδικα σου και ερωτημάτων που πρόσθεσα α) προσθεσα στον πίνακα το υπολογιζόμενο πεδίο plithos b) στον κώδικα που δημιουργησες στην ενημερωση του amABC αντικατέστισα το amount με το plithοs Και πλεον δουλευει ολόσωστα με όσα δεδομένα του προσθέσω. c) στον κωδικα σου στην ενημέρωση του CurABC αντικατέστισα στο cursum με το amount αλλά συνεζίζει να μην δουλευει σωστα.(δεν υπολογίζει το 80% του amount) d)για το λόγο αυτό δημιουργησα ερωτημα νέο και το CurABC_new (δουλευει με τύπο) ειναι ολόσωστο Αν συμφωνεις με τα παραπάνω (επισυναπτόμενο) και με βοηθούσες να μετατρέψω την ενημέρωση του CurABC_new με κωδικά θα ήταν οτι καλύτερο και πάλι σε ευχαριστώ |
#9
| |||
| |||
Καλημέρα Θα ήθελα να διευκρινίσω, κάποια θέματα στα οποία μάλλον υπάρχει σύγχυσή. 1) Όταν ένα ερώτημα περιέχει τη φράση ‘TOP x PERCENT’ (όπου 0<x<=100), τότε από όλες τις εγγραφές z, που θα επέστρεφε (με βάση τα κριτήρια) το ερώτημα, θα επιστρέψει τις πρώτες x% του z. Δηλαδή δε γίνεται κάποια καταμέτρηση των μονάδων πχ του πεδίου Plithos. Επειδή οι εγγραφές που θα επιστραφούν εξαρτώνται από την ταξινόμηση, θα πρέπει να προσθέσουμε στο ερώτημα και μια φράση ORDER BY για να ορίσουμε την ταξινόμηση που θέλουμε (πχ φθίνουσα ως προς το πεδίο amount). 2) Στον πίνακα db το πεδίο ID είναι πρωτεύον κλειδί και συνεπώς έχει πάντα τιμή (δεν μπορεί να είναι NULL) Στο υπολογιζόμενο πεδίο plithos, αντί για τύπο, θα μπορούσες να δώσεις την τιμή 1. Όπως όμως εξήγησα δεν παίζει κανένα ρόλο στην επιλογή των ‘TOP x PERCENT’ και συνεπώς είναι άχρηστο. 3) Έχω μπερδευτεί σχετικά με το χαρακτηρισμό των εγγραφών σε A, B και C, μάλλον όμως απέκλεισες το χαρακτηρισμό με βάση το τρέχον άθροισμα. Με τα δεδομένα σου λογικός μου φαίνεται μόνο ο χαρακτηρισμός των εγγραφών σε A, B και C με βάση τις τιμές του πεδίου amount. Επειδή η βαθμολογία γίνεται από τις μεγαλύτερες τιμές προς τις μικρότερες, η ταξινόμηση ως προς το πεδίο amount θα πρέπει να είναι φθίνουσα. Καλή συνέχεια. |
#10
| |||
| |||
Καλησπέρα Γιώργο παντα χρησιμες οι συμβουλές σου. Μαθαίνουμε πολλά από αυτές. σε ευχαριστώ πολύ |
« Προηγούμενο Θέμα
|
Επόμενο Θέμα »
| |
Παρόμοια Θέματα | ||||
Θέμα | Δημιουργός | Forum | Απαντήσεις | Τελευταίο Μήνυμα |
[Μορφοποίηση] Ταξινόμηση | xristos | Excel - Ερωτήσεις / Απαντήσεις | 2 | 23-08-16 17:38 |
[Μορφοποίηση] Ταξινόμηση | xristos | Excel - Ερωτήσεις / Απαντήσεις | 2 | 15-10-14 19:02 |
Ταξινόμηση | jimrenoir | Access - Ερωτήσεις / Απαντήσεις | 8 | 22-02-11 12:19 |
[ Φόρμες ] Ταξινόμηση | alatis | Access - Ερωτήσεις / Απαντήσεις | 2 | 03-10-10 20:26 |
[Συναρτήσεις] Ταξινόμηση | skantzo | Excel - Ερωτήσεις / Απαντήσεις | 11 | 26-09-10 23:39 |
Η ώρα είναι 15:05.