Access - Ερωτήσεις / Απαντήσεις Access + VBA... Εδώ δεν υπάρχουν όρια! |
| Εργαλεία Θεμάτων | Τρόποι εμφάνισης |
#21
| |||
| |||
Επίσης να ρωτησω το εξής: οταν εχω π.χ. 10 εγγραφες (1-10) και σβησω π.χ. την εγγραφή με Α/Α 5. πως μπορω να ξανακαταχωρήσω εγγραφή με Α/Α 5 και οι υπολοιπες εγγραφές να παραμείνουν με τον σωστο Α/Α και να μην χαλάσει η αρίθμηση. θα ηθελα μια γνωμη απο εσας που ξερετε σαφως πολύ περισσοτερα.... συγνωμη για τα λαθη που εκανα ως προς την αναρτηση. |
#22
| ||||
| ||||
Καλησπέρα Φτιάξε ένα πίνακα. Ονόμασε ένα πεδίο [diadoxi] το οποίο να περιέχει τα Α/Α 1, Α/Α 2, κοκ. Τι σε εμποδίζει να διαγράψεις το πεδίο Α/Α 7 και σε μια μεταγενέστερη στιγμή να γράψεις πάλι το Α/Α 7; Το 'να μη χαλάσει η σερά" εννοείς να ξαναεμφανιστεί στη θέση του διαγραμμένου Α/Α 7 το νέο ; Αν ναί με ποιά λογική έχεις την ταξινόμηση ; Σε περίπτωση που -άστοχα- προσπαθήσεις να γράψεις Α/Α 1234 και το αλφαριθμητικό αυτό υπάρχει, τι πρέπει να συμβεί ; Πόσα κενά διαστήματα έχεις μεταξύ του Α/Α και του αριθμού, με τον οποίο συνθέτουν τα αλφαριθμητικά αρίθμησης των εγγραφών σου ; Βλέπεις οτι η ερώτησή σου έχει να κάνει με μια σειρά απαντήσεων που πρέπει να επιλύσεις, ώστε να αντιμετωπίσεις σωστά το ζήτημα. Μάλλον έκανα το πρόβλημα πιο δύσκολο... Με εκτίμηση Νίκος Δ. Τελευταία επεξεργασία από το χρήστη Meteora : 20-02-12 στις 19:38. Αιτία: Ανέβασμα επισυναπτόμενου *.mdb |
#23
| |||
| |||
Ευχαριστώ για το ενδιαφέρον και την άμεση απάντηση. Υποθέστε οτι έχετε να κανετε με μια Διεύθυνση που το προσωπικο της εχει ιεραρχία, υπαλληλος, τμηματαρχης, υποδιευθυντης, διευθυντης. Αν ερθει ένας υπάλληλος π.χ. στην διεύθυνση και πρεπει να καταχωρηθούν τα στοιχεια του στη βαση, λόγω καποιων προσοντων που θα εχει παραπανω, θα πρεπει να μπει πιο ψηλα στην ιεραρχια των ηδη καταχωρημενων υπαλληλων στη βαση. Το ίδιο υποθέστε για Τμηματάρχη, Υποδιευθυντη κ.ο.κ. Αντίστοιχα, αν φυγει ένας υπαλληλος, Τμηματάρχης κ.ο.κ , να μπορει να αλλαζει και η αρίθμηση. Μία λύση σε αυτο την βρηκα εδω και ειναι πολυ καλη: http://www.ms-office.gr/forum/access...ithmisi-2.html Ενα τετοιο παραδειγμα είχα σκεφτει παλιοτερα, τροποποίησα το επισυναπτόμενο ετσι οπως θα το ηθελα να φαινεται αλλα συμβαινει το εξης: Αν σβήσεις την εγγραφή με α/α 3 ,(anna) στο επισυναπτόμενο παράδειγμα, ολά ενταξει. Αν την ξανακαταχωρήσεις με α/α 3, και παλι εντάξει. Αν όμως θέλω την εγγραφή με α/α 3, (anna) να ειναι πιο πάνω απο την εγγραφή με α/α 3 (afroditi) θα πρεπει να αλλαξω το πεδίο Διαδοχη της εγγραφής με α/α 3 (afroditi) σε α/α 4 και αυτό συνεπάγεται οτι θα πρεπει να αλλαξουν και όλες οι υπολοιπες εγγραφές π.χ. η εγγραφή που έχει α/α 4 να παρει το 5 κ.ο.κ., πραγμα που πρεπει να το κάνεις χειρωνακτικά. Για να σας προλαβω, δεν μπορω με αλλο κριτηριο να κανω την ταξινομηση. Δεν με ενδιαφέρει καποιος συγκεκριμένος τύπος α/α (αλαφαριθμητικό, αριθμός, κ.τ.λ.). αρκεί να γινεται σωστα η ταξινόμηση. Ελπίζω τώρα να έγινα πιο σαφής. Σας επισυνάπτω και το αρχειο τροποποιημενο. Ευχαριστω εκ των προτέρων. Τελευταία επεξεργασία από το χρήστη Meteora : 21-02-12 στις 17:19. |
#24
| ||||
| ||||
Καλησπέρα Το πρόγραμμα θέλει κριτήριο για να κάνει κατάταξη. Ξέχνα την λογική της αυτόματης αρίθμησης! Έδωσα μια σκέψη, όχι για να δώσω την οριστική λύση, αλλά για να γεννηθούν καλύτερες ιδέες... Μη αποδίδεις το ίδιο αλφαριθμητικό σε δύο ή περισσότερα πρόσωπα. Αν θέλεις να παρεμβάλεις εγγραφή μεταξύ δύο που ήδη υπάρχουν, πρέπει να χρησιμοποιήσεις κωδικούς με περισσότερα αριθμητικά ψηφία. πχ. a/a 1000 , a/a 2000, a/a 3000 κ.ο.κ Δοκίμασε ! Εφόσον κάτι άλλο ταιριάζει στην περίπτωσή σου, φυσικά και να απορρίψεις την πρότασή μου. Δεν είδα κάποια τροποποίηση στο πόνημα που ανέβασα. Με εκτίμηση Νίκος Δ. |
#25
| |||
| |||
Καλησπέρα στην παρέα Χριστίνα, η επισυναπτόμενη ΒΔ αποτελεί μια προσέγγιση του παραδείγματος που αναφέρεις στο μήνυμά σου. Η ΒΔ αποτελείται: 1. Από τον πίνακα «Theseis», που περιέχει τις θέσεις των υπαλλήλων (Διευθυντής, Τμηματάρχης, Υπάλληλος, κλπ ). Εδώ κατά την καταχώρηση οι θέσεις που βρίσκονται ψηλότερα στην ιεραρχία θα πρέπει να έχουν μικρότερο αριθμό. Δε χρειάζεται οι αριθμοί να είναι συνεχόμενοι. 2. Από τον πίνακα «Persons». Ο πίνακας περιέχει, εκτός των άλλων και ένα πεδίο «ID_Thesis» στο οποίο καταχωρείται (επιλέγεται) η θέση του υπαλλήλου και ένα πεδίο «fOrder». Στο πεδίο «fOrder» καταχωρείται ένας αριθμός που δείχνει την κατάταξη των προσώπων που ανήκουν στην ίδια θέση (Διευθυντή, Τμηματάρχη, Υπάλληλου, κλπ). Οι αριθμοί κατάταξης είναι διαφορετικοί και δεν είναι συνεχόμενοι. Θα μπορούσαμε να δώσουμε τους αριθμούς 10, 20, 30, 40, κλπ. Πάντως οι αριθμοί πρέπει να είναι κατάλληλοι ώστε να επιτρέπουν την προσθήκη νέων ατόμων. Αν προστεθεί ένα άτομο να μπορούμε να του δώσουμε ένα διαφορετικό αριθμό από τους υπάρχοντες , ανάλογα με τα προσόντα του. Στο παράδειγμα, αν είναι καλύτερος από όλους, θα πάρει έναν αριθμό μικρότερο του 10 πχ 5. Αν είναι χειρότερος θα πάρει έναν αριθμό μεγαλύτερο του 40 πχ 50. Αν είναι ανάμεσα στο 20 και το 30 θα πάρει πχ 26. Η διαγραφή ατόμων δε δημιουργεί προβλήματα στην κατάταξη. 3. Το ερώτημα «QryOrder». Το ερώτημα με βάση τις τιμές των πεδίων «ID_Thesis» και «fOrder» απαριθμεί τα πρόσωπα (Πεδίο fCounter). 4. Τη φόρμα «frmCounter», που βασίζεται στο ερώτημα και δείχνει τα πρόσωπα με τη σειρά που θέλουμε. 5. Τη φόρμα «frmPersons», που βασίζεται στο ερώτημα «QryPersons» και και μπορεί να χρησιμοποιηθεί για προσθήκη, διόρθωση και διαγραφή στοιχείων . Ελπίζω η παραπάνω προσέγγιση να καλύπτει το ζητούμενο. Φιλικά/Γιώργος |
#26
| |||
| |||
Να δώσω λοιπον κ εγω την δικη μου προσεγγιση στο θέμα... Η επισυναπτόμενη ΒΔ περιέχει ένα πινακα και μια φορμα Στον πίνακα υπαρχει ένα πεδίο ListNumber. Τα δεδομένα στην φόρμα παρουσιαζονται με κατάταξη κατά ListNumber, (και τυχον αλλα ερωτηματα μπορουν να ταξινομηθουν με τον ιδιο τροπο, ωστε να λυθει το θέμα της Ιεραρχίας) Οσον αφορα την "αλλαγη" στην καταταξη ή την δημιουργία "κενων Θεσεων" (λογω μεταθεσης, λογω προσληψης, λογω απολυσης κλπ) λύνεται με την φόρμα. Όπου στο συμβαν onupdate του txtListNumber (που εμφανιζει τις τιμες απο το πεδιο listnumber του πινακα tbl_Persons) , αφενος γινεται επανακαταταξη (κατα listnumber), αφετερου γινεται επαναριθμηση Όλων των listnumber αρχιζοντας απο το 1, και κλεινοντας τυχον "τρυπες' που μπορει να δημιουργηθηκαν. Ο ΚΩΔΙΚΑΣ ΤΗΣ ΕΠΑΝΑΡΙΘΜΗΣΗΣ ΕΙΝΑΙ ΕΞ ΟΛΟΚΛΗΡΟΥ "ΑΝΤΙΓΡΑΦΗ" ΑΠΟ ΚΑΠΟΙΟ ΑΛΛΟ ΘΕΜΑ ΤΟΥ foroum. (Να με συγχωρησει ο δημιουργος του, αλλα εχω ξεσηκωσει τοσα πραγματα από το forum που δεν θυμαμαι ακριβως από που εχω παρει τι) |
#27
| |||
| |||
Καλησπέρα Να δώσω λοιπον και εγω την δικη μου προσεγγιση στο θέμα... Επισυνάπτω το αρχειο τροποποιημενο, προσθέτωντας ενα πεδίο Order στον πίνακα tplExercise μια φόρμα f_Order με MoveUpDownList και ενα ερώτημα qryListSort Φιλικά Δημήτρης |
#28
| |||
| |||
Ταξινόμηση Εγγραφών Παράθεση:
Καλησπέρα σε όλους. Ευχαριστώ για την βοήθεια σας και τις άμεσες απαντήσεις σας. Συσχετίζοντας το πόνημα του μέλους Stelianta το οποίο θα ήθελα να ευχαριστήσω καθώς επίσης και να το προσαρμόσω στη δική μου Β.Δ. σας επισυνάπτω τροποποιημένο το πόνημα (epanarithmisi_new.rar) με το οποίο θέτω το παρακάτω ερώτημα: Θα ήθελα η επαναρίθμηση του προσωπικού να γίνεται με βάση την ιδιότητα του και όχι στο σύνολο του. π.χ. εχω 3 ατομα με την ιδιότητα Διευθυντής και θέλω εκεί να ορίζω τη σειρα κατάταξης με 1 2 3 και εκεί να γίνεται ταξινόμηση όπως γινεται με το αρχικό πόνημα. το ίδιο να γινεται κι οταν εχω 5 άτομα με την ιδιότητα Υποδιευθυντής κ.ο.κ Εφτιαξα μια φόρμα και μια δευτερευουσα φορμα μεσα απο την οποία δίνω την ιδιότητα (Δ/ντης, Υποδ/ντης, Υπάλληλος) και εμφανίζει τα πρόσωπα. Η σειρά καταταξης ομως δεν μου δουλευει. Στη γραμμή κωδικα strSQL = "SELECT * FROM tbl_Persons ORDER BY[ListNumber]" του πονήματος προσθέτω το WHERE ΣύνθετοΠλαίσιο0 = Id_idiotitas ( κάτι τέτοιο νομίζω) αλλά δεν δουλεύει. Δεν το έγραψα για να μην γίνουν χειρότερα. Ευχαριστώ εκ των προτέρων για την πολύτιμη απαντησή σας. |
#29
| |||
| |||
Καλησπέρα Κοίτα το συνημμένο, κάνει αυτόματη αρίθμηση , για όλες τις εγγραφές. Θανάσης |
#30
| |||
| |||
Παράθεση:
************************** Ευχαριστώ για την απάντηση. Θα το κοιταξω ωστε να δω πως θα το προσαρμόσω διότι με ενδιαφέρει να γινεται η αρίθμηση με την χρήση της φόρμας και της δευτερεύουσας φόρμας οπως στο πόνημα που είχα επισυνάψει. Θα επανέλθω με τυχον απορίες. Υ.Γ. παρουσιάστηκε κι ενα προβλημα με ενα αρχειο agentctl.dll το οποίο πρεπει να κατεβασω προκειμένου να λειτουργήσει σωστα το πόνημα σας. |
« Προηγούμενο Θέμα
|
Επόμενο Θέμα »
| |
Παρόμοια Θέματα | ||||
Θέμα | Δημιουργός | Forum | Απαντήσεις | Τελευταίο Μήνυμα |
[ Πίνακες ] επαναφορά αρίθμησης | mousatos | Access - Ερωτήσεις / Απαντήσεις | 3 | 11-07-15 17:22 |
[ Εκθέσεις ] ΣΥΝΕΧΕΙΑ ΤΟΥ ΘΕΜΑΤΟΣ:ΒΔ.πρόβλημα με το search | asarigiannis | Access - Ερωτήσεις / Απαντήσεις | 6 | 13-05-14 07:35 |
[VBA] Αλλάγη τιμών σε άλλο φύλλο (συνέχεια απο διαίρεση εγγραφή) | dalavouras | Excel - Ερωτήσεις / Απαντήσεις | 1 | 10-09-13 12:17 |
[Μορφοποίηση] Συνέχεια Σωστού Ποσοστού. | shotcon | Excel - Ερωτήσεις / Απαντήσεις | 3 | 19-07-13 01:01 |
[ Πίνακες ] Πεδίο 'αυτόματης αρίθμησης' | Meteora | Access - Ερωτήσεις / Απαντήσεις | 2 | 04-01-10 16:30 |
Η ώρα είναι 20:56.