Forum

Forum (https://www.ms-office.gr/forum/)
-   Excel - Ερωτήσεις / Απαντήσεις (https://www.ms-office.gr/forum/excel-erotiseis-apantiseis/)
-   -   [Συναρτήσεις] Αυτόματη αύξηση (κωδικού) κατά 1 σε πίνακα (https://www.ms-office.gr/forum/excel-erotiseis-apantiseis/3897-aytomati-aiksisi-kodikoi-kata-1-se-pinaka.html)

gfevran 28-10-15 19:27

Σπύρο μου συγνώμη,
Λάθος μου.

Χρήστος 29-10-15 17:31

Στο συνημμένο παρουσιάζω την εργασία μου με ότι έχω καταφέρει έως τώρα, στην προσπάθειά μου να δίνω στο ID έναν αριθμό (με διαδοχική αύξηση κατά 1).
Θα εκτιμούσα αν με βοηθούσατε να διαχειρίζομαι και την περίπτωση (δεν το κάνω τώρα) που παρεμβάλλεται μια νέα γραμμή, ώστε να παίρνει αυτόματα το ID τον επόμενο αριθμό (επαυξημένο κατά 1).

Spirosgr 29-10-15 22:47

Καλησπέρα
1
Εφ' όσον πρόκειται για ID, η δεύτερη περίπτωση, αποκλείεται ...
Καμία βάση δεδομένων (ακόμα και οι επίπεδες) δεν έχουν κενές γραμμές, κι αν έχουν για κάποιο λόγο (πολύ σπάνια), ποτέ δεν πρέπει να είναι, χωρίς ID

2
Καλύτερα να υιοθετήσεις, τον κώδικα που έχω πιο πάνω...

3
Ο κώδικας διαγραφής, έχει λαθάκια και θέλει βελτίωση...

Σημείωση:
Να αποφεύγεις, τα Select.
Τα On Error, δεν χρησιμοποιούνται, με τον καλύτερο τρόπο.
Αντί για Set Table θα ήταν καλύτερα κάτι σαν Set tbl
H Ονομασία κελιού offset θα ήταν καλύτερα να μην υπάρχει
Δοκίμασε για παράδειγμα, κάτι σαν NumCell...

Χρήστος 30-10-15 07:42

Καλημέρα...γράφοντας "παρεμβάλλεται μια νέα γραμμή" δεν εκφράστηκα με τον καλύτερο τρόπο. Όταν εισάγεται μια νέα γραμμή δεν φροντίζω να παίρνει το ID αρίθμηση...και βέβαια θέλω να παίρνει!
προσπαθώντας να το διαχειριστώ (μέσω των IF) μου δίνει τον μεθεπόμενο αριθμό!!
με το 1ο κλικ (για να κάνω εισαγωγή) το bank αυξάνεται κατά 1 και με το 2ο (selection change) κατά ένα, οπότε το ID γίνεται μεγαλύτερο κατά 2!!
"Σ' αυτό" το σημείο θα ήθελα βοήθεια αν είναι δυνατόν...πάντως θα μελετήσω την πρότασή σου...καλημέρα...

gfevran 30-10-15 13:55

Καλησπέρα,
Σπύρο η πρόταση σου (Γενική μέθοδος αυτόματης εισαγωγής ID)
είναι μια καλή ιδέα για αυτό που θέλω να κάνω,
θα ήθελα κάνοντας κλικ, για εισαγωγή γραμμών χωρίς να υπάρχει "όνομα, επώνυμο",
να ακυρώνεται η ενέργεια και να παίρνω μήνυμα (msgBox) προσθήκης ονόματος κ.τ.λ.
"Σε αυτό" το σημείο θα ήθελα βοήθεια.

Φιλικά, Γιώργος

Χρήστος 01-11-15 22:47

Σπύρο, στο αρχείο σου διαπυστώνω ότι αν διαγράψω ένα ID και κατόπιν προσθέσω νέα γραμμή γίνεται μεγάλο μπέρδεμα, διότι ξαναπαίρνει τιμή το σβησμένο και μπορεί να υπάρχουν διπλοεγγραφές στα IDs....

ή αν εισάγω μια νέα γραμμή δίχως κουμπί και διαδοχικά μια νέα με το κουμπί τότε και οι 2 παίρνουν το ίδιο ID...

Είμαι σίγουρος ότι τα γνωρίζεις αλλά δεν θα έπρεπε να προβλέπονται όλες αυτές οι ενέργειες;

Spirosgr 01-11-15 23:41

Πρώτο
Όταν έχουμε ένα έργο - πρόγραμμα,
όπου πρέπει να πατάμε κουμπί, για να εισαχθεί γραμμή,
πατάμε το κουμπί πάντα και δεν βάζουμε γραμμές, ποτέ με το χέρι...
Το συγκεκριμένο έργο,
«θέλει» εισαγωγή, νέας γραμμής πάντα με κουμπί και πάντα στην θέση 1
Δεύτερο
Στα σοβαρά προγράμματα, ποτέ δεν διαγράφουμε, αλλά κρατάμε ιστορικό.
Το έργο αυτό, (δεν διάβασες το παράδειγμα καλά), προβλέπει
στήλη status με χαρακτηρισμό, «Ενεργός», «Ανενεργός»
Ο χρήστης, δεν διαγράφει αλλά θέτει ανενεργό, ό,τι δεν ισχύει...
Τρίτο
αναφέρεις...
«αν εισάγω μια νέα γραμμή δίχως κουμπί και διαδοχικά μια νέα με το κουμπί τότε και οι 2 παίρνουν το ίδιο ID...»
Έβαλες γραμμή με το χέρι και πήρε μόνη της ID;
Δεν νομίζω...
Τέταρτο
αναφέρεις...
«ότι αν διαγράψω ένα ID και κατόπιν προσθέσω νέα γραμμή γίνεται μεγάλο μπέρδεμα,
διότι ξαναπαίρνει τιμή το σβησμένο και μπορεί να υπάρχουν διπλοεγγραφές στα IDs....»
Δεν υπάρχει, ούτε μια στο εκατομμύριο να διαγραφεί γραμμή και να υπάρξει, επόμενη με ήδη χρησιμοποιημένο ID

Χρήστος 02-11-15 00:59

Αυτό που κατάλαβα είναι ότι πρέπει να είναι ξεκάθαρο τι κάνει το πρόγραμμα και τι αναμένουμε απ' τον χρήστη (δεν μπορεί να κάνει ότι θέλει...με κάποιον τρόπο θα πρέπει να περιορίζεται)...αυτό δεν είχα αντιληφθεί....Φίλε Σπύρο καληνύχτα...


Η ώρα είναι 10:58.

Ms-Office.gr - ©2000 - 2026, Jelsoft Enterprises Ltd.


Search Engine Optimization by vBSEO 3.3.2