| Access - Ερωτήσεις / Απαντήσεις Access + VBA... Εδώ δεν υπάρχουν όρια! |
![]() |
| | Εργαλεία Θεμάτων | Τρόποι εμφάνισης |
| |
|
#1
| |||
| |||
|
Καλησπέρα Για την παραγωγή τυχαίων τετραψήφιων αριθμών (1000 έως 9999) χρησιμοποιώ τον τύπο: 1000 + Int(9000*Rnd). Ας υποθέσουμε οτι χρησιμοποιούμε τον τύπο και μας δίνει τον τυχαίο αριθμό 2591. Υπάρχει περίπτωση να επαναληφθεί ο αριθμός αυτός σε επόμενες χρήσεις παραγωγής άλλων αριθμών? |
|
#2
| |||
| |||
|
Καλησπέρα Δημήτρη, από το 1.000 μέχρι και το 9.999 έχουμε 9.000 διαφορετικούς ακέραιους. Μπορούμε να θεωρήσουμε, με τον τρόπο που τους επιλέγεις, ότι έχουν την ίδια πιθανότητα επιλογής. Αν υποθέσουμε ότι έχουν επιλεχθεί N διαφορετικοί, ο επόμενος που θα επιλεχθεί θα έχει πιθανότητα Ν/9000 να είναι κάποιος από τους επιλεγμένους. Είναι φανερό ότι όσο προχωράει η επιλογή τόσο θα αυξάνεται η πιθανότητα επιλογής κάποιου επιλεγμένου και μετά από 4.500 επιλογές, θα υπερβαίνει το 50%. |
|
#3
| |||
| |||
|
Φίλε Γιώργο, Σ`ευχαριστώ για την τοποθέτησή σου και χαίρομαι ιδιαίτερα που μιλάμε ξανά. Η ανάλυσή σου είναι πλήρως κατατοπιστική και ξεκαθαρίζει τα πράγματα. Ωστόσο, θα ήθελα να αναφέρω επιπροσθέτως ότι, όταν διατύπωνα το ως άνω ερώτημά μου, είχα κατά νου την πιθανότητα (θεωρούσα) ότι η access "θυμάται" τούς αριθμούς που παρήγαγε κατά το παρελθόν, παρά το γεγονός ότι είχα μελετήσει την εξαιρετική μεθοδολογία σου για το ίδιο αντικείμενο: (http://www.ms-office.gr/forum/access...-arithmon.html). Παρόλα αυτά θα ήθελα να ρωτήσω το εξής: Στη συνημμένη βάση υπάρχει μια φόρμα. Με τη φόρτωση της φόρμας, στο πεδίο [gen] παράγεται ένας τυχαίος 4ψήφιος αριθμός βάσει VBA. Είναι δυνατόν, με κάποιον τρόπο, με τη φόρτωση της φόρμας να παράγεται τυχαίος 4ψήφιος αριθμός που δεν έχει επαναληφθεί (παραχθεί) κάποια στιγμή στο παρελθόν, α. Χωρίς τη χρήση πίνακα!!! β. Με τη χρήση πίνακα. Τελευταία επεξεργασία από το χρήστη dimitrisp : 08-10-17 στις 20:06. |
|
#4
| |||
| |||
|
Καλησπέρα Δημήτρη, για να αποτραπεί η επαναχρησιμοποίηση κάποιου τυχαίου αριθμού, θα πρέπει οι χρησιμοποιηθέντες να αποθηκεύονται κάπου μονίμως (όχι στη μνήμη RAM). Θα μπορούσαν να αποθηκεύονται, για παράδειγμα, σε κάποιο αρχείο κειμένου, σε μια εξωτερική ΒΔ, κλπ, αλλά βολικότερη είναι η αποθήκευσή τους σε πίνακα της τρέχουσας ΒΔ. Στη συνημμένη ΒΔ οι χρησιμοποιηθέντες τυχαίοι αποθηκεύονται στον πίνακα Table1. Πιο συγκεκριμένα: 1) Πατώντας το κουμπί [Δημιουργία Τυχαίων Αριθμών] δημιουργούνται όλοι οι μοναδικοί ακέραιοι τυχαίοι αριθμοί στο διάστημα [1000, 9999] και αποθηκεύονται στον πίνακα [table1]. Σημείωση: Διευκρινίζω ότι οι τυχαίοι είναι συγκεκριμένοι (όλοι οι ακέραιοι από 1000 έως και 9999), η θέση τους όμως μέσα στον πίνακα είναι τυχαία. 2) Κάθε φορά που φορτώνουμε τη φόρμα ή πατούμε το κουμπί [Εντολή2], επιλέγεται και εμφανίζεται ένας μη χρησιμοποιηθείς τυχαίος και ταυτόχρονα τσεκάρεται ως χρησιμοποιηθείς. Έτσι αποτρέπεται να επιλεχθεί και να εμφανιστεί ξανά. |
|
#5
| |||
| |||
|
Καλησπέρα Φίλε Γιώργο, θερμές ευχαριστίες για όλα. Η μέθοδος που προτείνεις τη βρίσκω εξαιρετική και ιδιαιτέρως χρήσιμη. Καλή συνέχεια... |
![]() |
« Προηγούμενο Θέμα
|
Επόμενο Θέμα »
| |
| ||||
| Θέμα | Δημιουργός | Forum | Απαντήσεις | Τελευταίο Μήνυμα |
| [Συναρτήσεις] Αυτόματη αρίθμηση μοναδικών ακέραιων αριθμων | ΑΠΟΣΤΟΛΗΣΚ | Excel - Ερωτήσεις / Απαντήσεις | 3 | 15-10-16 13:37 |
| Παραγωγή τυχαίου αριθμού-Πρόβλημα | parara | Access - Ερωτήσεις / Απαντήσεις | 3 | 06-05-16 18:02 |
| Παραγωγή τυχαίου αριθμού & απενεργοποίηση VBA | parara | Access - Ερωτήσεις / Απαντήσεις | 2 | 25-03-16 08:52 |
| Παραγωγή τυχαίων αριθμών και εκτύπωση | pm4698 | Access - Ερωτήσεις / Απαντήσεις | 1 | 03-11-14 19:38 |
| Δημιουργία μοναδικών τυχαίων αριθμών | kapetang | Access samples - Χρήσιμα αρχεία & παραδείγματα | 0 | 20-10-13 17:22 |
Η ώρα είναι 18:58.


Υβριδικός τρόπος

