Access - Ερωτήσεις / Απαντήσεις Access + VBA... Εδώ δεν υπάρχουν όρια! |
| Εργαλεία Θεμάτων | Τρόποι εμφάνισης |
#1
| |||
| |||
ενεργοποίηση - απενεργοποίηση επιλογής σε φόρμα
καλημέρα θέλω να πω ένα ευχαριστώ για την μέχρι τώρα βοήθεια σας, μέσω των απαντήσεων στα ερωτήματά μου, αλλά και μέσω των απαντήσεων και σε άλλα ερωτήματα. σε μία φόρμα έχω δύο τικ επιλογής και θέλω όταν κλικάρω το ένα να απενεργοποιήται το άλλο έβαλα σε ρουτίνα (της επιλογής) την εντολή με το κλικ στην επιλογή δίνω στο πεδίο melos4 τιμή Private Sub Εντολή14_Click() If Me.mixanologos = -1 Then Me.melos4 = 7 Me.επιλογή16.Enabled = False Else Me.melos4 = 0 Me.επιλογή16.Enabled = True End If End Sub αντίστοιχη ρουτίνα έγραψα και για την δεύτερη επιλογή κάνοντας κλικ στην μία επιλογή η δεύτερη μένει απενοργοποιημένη σε όλες τις εγγραφές ακόμα και στις καινούριες, ενώ κάτι τέτοιο δεν το θέλω θέλω επίσης αν δεν κλικάρω κάποια από τις δύο επιλογές το melos4 να πέρνει τιμή 0 ευχαριστώ για την πολίτιμη βοήθεια παναγιώτης |
#2
| |||
| |||
Καλημέρα Παναγιώτη όταν ασχολούμαστε με επιλογές πρέπει να είμαστε ξεκάθαροι. 1) Είναι άλλο πράγμα το κλικάρω (κάνω κλικ σ’ ένα πλαίσιο επιλογής οπότε αν ήταν τσεκαρισμένο=TRUE ξετσεκάρεται=FALSE) και άλλο το τσεκάρω (δίνω τιμή TRUE). 2) Επίσης άλλο πράγμα είναι το ενεργοποιώ/ απενεργοποιώ ένα πλαίσιο ελέγχου και άλλο του δίνω τιμή TRUE/FALSE. Ένα πλαίσιο ελέγχου μπορεί να μη είναι ενεργό (είναι γκρίζο και δεν επιτρέπει κλικ) και να είναι τσεκαρισμένο (έχει τιμή TRUE). Η ιδιότητα ενεργό ή μη ενός πλαισίου ελέγχου αφορά όλες τις εγγραφές. Μπορούμε όμως με κώδικα (πχ στο συμβάν OnCurrent της φόρμας) να την αλλάξουμε από εγγραφή σε εγγραφή. Με βάση τα παραπάνω, έχω τη γνώμη ότι το ζητούμενο χρειάζεται διευκρίνιση. Φιλικά/Γιώργος |
#3
| |||
| |||
οι παρατηρήσεις σου είναι πολύ σωστές, αλλά η απειρία μου δεν με βοήθησε στο να θέσω σωστά το ερώτημά μου. βασικά με ενδιαφέρει όταν φτιάχνω μια καινούρια εγγραφή να έχουν και οι δύο επιλογές τιμή FALSE όταν κάνω κλικ την μία επιλογή αυτή να πέρνει τιμή TRUE και αν ξανακάνω κλικ να πέρνει τιμή FALSE όταν είναι TRUE μία από τις δύο επιλογές θελω να μην μπορεί να πάρει τιμή TRUE η άλλη. δηλαδή μπορεί να είναι και οι δύο τιμές FALSE, αλλά δεν μπορεί να είναι και δύο TRUE. ελπίζω να ήμουν πιο ξεκάθαρος τώρα. ευχαριστώ για το χρόνο που αφιέρωσες. παναγιώτης |
#4
| |||
| |||
Καλησπέρα Το ζητούμενο μπορεί να υλοποιηθεί χωρίς κώδικα ορίζοντας κατάλληλα τις ιδιότητες Validate Role και Validate Text στη σχεδίαση του πίνακα Promithia1. Οι τιμές που δόθηκαν είναι: Not ([mixanologos] And [mixanografos]) και «Δεν επιτρέπεται και τα δύο πλαίσια ελέγχου να είναι τσεκαρισμένα». Το πρόβλημα με τη ΒΔ είναι στη σχεδίαση. Συνοπτικά προτείνω να μελετήσεις την ακόλουθη σύνθεση της ΒΔ: 1) Βοηθητικός πίνακας ΕΙΔΙΚΟΤΗΤΕΣ]. Περιέχει τις διαφορετικές ειδικότητες του προσωπικού (πχ τοπογράφος, νομικός, μηχανολόγος, κλπ) και ένα μοναδικό κωδικό πχ ΕΙΔΙΚΟΤΗΤΑ_ID για κάθε ειδικότητα που ορίζεται πρωτεύον κλειδί. 2) Πίνακας ΠΡΟΣΩΠΙΚΟ περιέχει τα ατομικά στοιχεία του προσωπικού (πχ επώνυμο, όνομα, κλπ). Περιέχει επίσης ένα πεδίο ΕΙΚΟΤΗΤΑ_ID που παίρνει τιμές από το βοηθητικό πίνακα [ΕΙΔΙΚΟΤΗΤΕΣ] και ένα μοναδικό κωδικό πχ ΠΡΟΣΩΠΙΚΟ_ID, που ορίζεται πρωτεύον κλειδί. 3) Βοηθητικός πίνακας ΡΟΛΟΙ_ΜΕΛΩΝ. Περιέχει τις ιδιότητες των μελών της επιτροπής (πρόεδρος, αναπληρωτής πρόεδρος, μέλος, αναπληρωματικό μέλος, μηχανολόγος, αναπληρωματικός μηχανολόγος κλπ). Περιέχει επίσης ένα μοναδικό κωδικό πχ ΡΟΛΟΣ_ID, που ορίζεται και πρωτεύον κλειδί. 4) Πίνακας ΠΡΟΜΗΘΕΙΕΣ. Περιέχει τα στοιχεία της προμήθειας, χωρίς στοιχεία για την επιτροπή. Περιέχει επίσης ένα μοναδικό κωδικό ΠΡΟΜΗΘΕΙΑ_ID, που ορίζεται ως πρωτεύον κλειδί. 5) πίνακας ΜΕΛΗ_ΕΠΙΤΡΟΠΩΝ. Περιέχει τα στοιχεία για κάθε μέλος των επιτροπών Περιέχει ένα πεδίο ΠΡΟΜΗΘΕΙΑ_ID. Είναι το εξωτερικό κλειδί που συνδέει τον πίνακα με τον πίνακα ΠΡΟΜΗΘΕΙΕΣ. Ένα πεδίο ΠΡΟΣΩΠΙΚΟ_ID. Είναι το εξωτερικό κλειδί που συνδέει τον πίνακα με τον πίνακα ΠΡΟΣΩΠΙΚΟ. Ένα πεδίο ΡΟΛΟΣ_ID. Είναι το εξωτερικό κλειδί που συνδέει τον πίνακα με τον πίνακα ΡΟΛΟΙ_ΜΕΛΩΝ. Περιέχει επίσης και ένα μοναδικό κωδικό πχ ΜΕΛΗ_ΕΠΙΤΡΟΠΩΝ_ID, που ορίζεται πρωτεύον κλειδί. Ανάμεσα στον πίνακα ΠΡΟΜΗΘΕΙΕΣ και ΜΕΛΗ_ΕΠΙΤΡΟΠΩΝ, υπάρχει σχέση 1 προς πολλά. Δηλαδή για κάθε προμήθεια στον πίνακα ΜΕΛΗ_ΕΠΙΤΡΟΠΩΝ ορίζονται τόσες εγγραφές όσο το πλήθος των μελών της επιτροπής. Αν μία προμήθεια έχει ΠΡΟΜΗΘΕΙΑ_ID=10, μπορούμε να φιλτράρουμε τις εγγραφές του πίνακα ΜΕΛΗ_ΕΠΙΤΡΟΠΩΝ με κριτήριο ΠΡΟΜΗΘΕΙΑ_ID=10 και να βρούμε όλα τα στοιχεία για τα μέλη της επιτροπής αυτής της προμήθειας. Η παραπάνω σχεδίαση είναι ευέλικτη και επιτρέπει να οριστούν επιτροπές με οποιοδήποτε αριθμό μελών. Φιλικά/Γιώργος |
#5
| |||
| |||
χαιρετώ ευχαριστώ πολύ για τον χρόνο που ξόδεψες για να απαντήσεις το ερώτημα μου. (όπως και για τα προηγούμενα ερωτήματα) όρισα τις ιδιότητες Validate Role και Validate Text όπως μου είπες, αλλά δεν κάνει τίποτα, όπως και στην βάση που μου έστειλες δεν λειτούργησε ότι ο σχεδιασμός της βάσης μου είχε προβλήματα το είχα καταλάβει και την επιτροπή την έχω αφαιρέσει ήδη από τον πίνακα Promithies1 αλλά με την μορφή melos1, melos2, κ.λ.π. στην αρχή την είχα κατασκευάσει έτσι ακριβώς την βάση, αλλά το πρόβλημά μου ήταν στην έκθεση και στις υπογραφές που πρέπει να είναι η μία δίπλα στην άλλη. αυτό το πρόβλημα μου το έλυσες σε προηγούμενο ερώτημα, αλλά όπως έφτιαξα τον πίνακα με τα πεδία melos1, melos2, ....., θεώρησα ότι μπορώ να διαχειριστώ καλύτερα τις θέσεις των υπογραφών στην έκθεση αφού είναι γνωστό ότι είναι τρία και σε κάποιες ειδικές περιπτώσεις τέσσερα. νομίζω ότι τον πίνακα που λες εσύ προσωπικό εγώ τον λέω επιτροπή. η επιτροπή αυτή έχει ορισθεί και είναι γνωστά το ονόματα. τρία βασικά τρεις αναπληρωτές ένα μηχανογράφος και ένας μηχανολόγος τα τρία μέλη τα διαλέγω με σύνθετο πλαίσιο, το τέταρτο θα μπορούσα να το διαλέγω και αυτό με σύνθετο πλαίσιο, αλλά θεώρησα ότι είναι καλύτερο και πιο γρήγορο να κλικάρεις μια επιλογή και να βάζει από μόνο του το όνομα στο τέταρτο μέλος, αφού δεν υπάρχουν αναπληρωτές. βασικός σκοπός της βάσης είναι να τυπώνει τα πρακτικά της επιτροπής που είναι τυποποιημένα. |
#6
| |||
| |||
Καλησπέρα Ένα από τα ζητούμενα ήταν να μη μπορεί να είναι τσεκαρισμένα και τα δύο πλαίσια ελέγχου (Μηχανολόγος, Μηχανογράφος). Αν ανοίξεις τη ΒΔ του προηγούμενου μηνύματός μου και τσεκάρεις στη φόρμα και τα δύο πλαίσια ελέγχου, όταν θα προσπαθήσεις να αποθηκεύσεις την εγγραφή (πατώντας το σχετικό κουμπί στην κορδέλα ή με μετακίνηση σε άλλη εγγραφή) θα εμφανιστεί ένα μήνυμα και η αποθήκευση θα αποτραπεί. Στον πίνακά σου Epitropi υπάρχουν ονόματα και ιδιότητες (τακτικό, αναπληρωματικό κλπ) όλων όσων διετέλεσαν μέλη επιτροπών. (Δεν υπάρχει ένα πεδίο πχ ΚωδικόςΠρομήθεις που να καθορίζει ποια ονόματα αποτελούν την επιτροπή για μια συγκεκριμένη προμήθεια πχ αυτήν με ΚωδικόΠρομήθεις=10). Πως συνεπώς, σε πίνακα με πάνω από 4 εγγραφές, θα επιλεγεί αυτόματα το όνομα του 4ου μέλους; Η σχεδίαση της ΒΔ εξαρτάται από το τι θα κάνει και είναι θέμα δικό σου. Προσωπικά, επειδή ξέρω ότι, κατά τη διάρκεια των ετών εργασίας, κάποιος μπορεί να είναι μέλος σε πολλές επιτροπές και με διαφορετική ιδιότητα σε κάθε μία απ’ αυτές, θα σου πρότεινα, τώρα που είσαι στην αρχή, να ξαναδείς τη σχεδίαση. |
#7
| |||
| |||
καλημέρα έτσι όπως το είχα φτιάξει με τα melos1, melos2, κλπ και όπως το είχα σκεφτεί, δεν μου χρειάζονταν το πεδίο ΚωδικόςΠρομήθειας έχω φτιάξει ήδη ένα άλλον πίνακα που είναι η EpitropiPromithias που έχει το πεδίο ΚωδικόςΠρομήθειας και παίρνει από τον πίνακα επιτροπή τα πεδία που χρειάζονται. ναι το εχω κάνει αυτό. στον πίνακα επιτροπή είναι τα ονόματα όσων είναι σε αυτήν την επιτροπή για αυτήν την χρονιά. εδώ είμαστε γύρω στους τριακόσους υποφήφιους για αυτήν την επιτροπή (τα ονόματα βγαίνουν με κλήρωση) και δεν μπορώ να έχω την λίστα με όλους τους υπαλλήλους για να την χρησιμοποιήσω. είχα σκεφτεί κάθε χρόνο να αλλάζω τον πίνακα επιτροπή με τα καινούρια μέλη και να ξεχνώ τα παλιά, αλλά θα σκεφτώ τι θα κάνω. άλλη μία ερώτηση θα φτιάξω δευτερεύουσα φόρμα για την καταχώρηση των μελών της επιτροπής κάθε προμήθειας τα στοιχεία καταχωρούνται στον πίνακα EpitropiPromithias και υπάρχει και το πεδίο KwdikosPromithias τα ονόματα των μελών της κάθε επιτροπής της προμήθειας τα καταχορώ με σύνθετο πλαίσιο, πχ για το KwdikosPromithias = 1 διαλέγω το πρώτο όνομα, απο τον πίνακα Epitropi είναι εύκολο όταν κλικάρω το σύνθετο πλαίσιο για να διαλέξω το δεύτερο όνομα να μην μου εμφανίζει το όνομα που χρησιμοποίησα στην πρώτη εγγραφή και όταν κλικάρω το σύνθετο πλαίσιο για να διαλέξω το τρίτο όνομα να μην μου εμφανίζει το όνομα που χρησιμοποίησα στις δύο πρώτες εγγραφές; ευχαριστώ για τον χρόνο και τις συμβουλές. |
#8
| |||
| |||
Καλημέρα Μπορεί από το σύνθετο πλαίσιο να αφαιρούνται τα μέλη που έχουν επιλεγεί. Ένα πρόχειρο παράδειγμα υπάρχει στην επισυναπτόμενη ΒΔ. Καθώς προσθέτουμε μέλη σε μια επιτροπή προμήθειας οι επιλογές περιορίζονται. Για την υλοποίηση: 1) Ορίστηκε κατάλληλα η προέλευση γραμμής του πλαισίου επιλογής. 2) Στη δευτερεύουσα φόρμα προστέθηκε ο κώδικας: Private Sub Form_Current() Me.ID_Melos.Requery End Sub |
#9
| |||
| |||
ευχαριστώ πολύ θα ξαναστήσω την βάση και αν χρειαστεί τα ξαναλέμε. |
#10
| |||
| |||
Καλημέρα Επειδή θα επανασχεδιάσεις τη ΒΔ θα ήθελα να επισημάνω το εξής. Υποθέτουμε ότι έχουμε: 1) Ένα πίνακα ΠΡΟΣΩΠΙΚΟ, όπου κάθε άτομο έχει ένα μοναδικό κωδικό (πχ ID_ΠΡΟΣΩΠΙΚΟΥ). Ο πίνακα επίσης έχει ένα πεδίο ΕΝΕΡΓΟ (ΝΑΙ/ΟΧΙ) για να διακρίνουμε το ενεργό προσωπικό από το μη διαθέσιμο (σύνταξη, κλπ). 2) Ένα πίνακα ΠΡΟΣΩΠΙΚΟ_ΕΠΙΤΡΟΠΩΝ, όπου καταχωρείται το έτος (πεδίο ΕΤΟΣ) και το ID_ΠΡΟΣΩΠΙΚΟΥ του ατόμου που για το συγκεκριμένο έτος έχει επιλεγεί με κλήρωση. Ο πίνακας αυτός βασικά θα έχει τα πεδία, ID_ΠΡΟΣ_ΕΠΙΤΡΟΠΗΣ (Αυτόματης αρίθμησης πρωτεύον κλειδί), ΕΤΟΣ (ακέραιος αριθμός), ID_ΠΡΟΣΩΠΙΚΟΥ και ID_ΙΔΙΟΤΗΤΑΣ. 3) Θέλουμε για το έτος πχ 2015 να επιλέξουμε τυχαία πχ 50 άτομα από τα ενεργά του πίνακα ΠΡΟΣΩΠΙΚΟΥ και να τα προσθέσουμε στον πίνακα ΠΡΟΣΩΠΙΚΟ_ΕΠΙΤΡΟΠΩΝ. Μπορούμε (με κώδικα) σε μία φόρμα να συμπληρώσουμε το έτος=2015 και το πλήθος=50 και πατώντας ένα κουμπί να επιλεγούν τυχαία 50 άτομα από τον πίνακα ΠΡΟΣΩΠΙΚΟ και να προστεθούν στον πίνακα ΠΡΟΣΩΠΙΚΟ_ΕΠΙΤΡΟΠΩΝ. Φιλικά/Γιώργος |
« Προηγούμενο Θέμα
|
Επόμενο Θέμα »
| |
Παρόμοια Θέματα | ||||
Θέμα | Δημιουργός | Forum | Απαντήσεις | Τελευταίο Μήνυμα |
Ενεργοποίηση/Απενεργοποίηση Πλαισίου κειμένου | kellis | Access - Ερωτήσεις / Απαντήσεις | 6 | 06-12-13 23:14 |
Ενεργοποίηση / απενεργοποίηση του Shift | γιώργοςΚ | Access - Ερωτήσεις / Απαντήσεις | 32 | 05-12-13 12:33 |
[ Φόρμες ] Ενεργοποίηση / Απενεργοποίηση καρτελών φόρμας | jim67 | Access - Ερωτήσεις / Απαντήσεις | 4 | 20-11-13 14:51 |
[ Φόρμες ] Ενεργοποίηση-Απενεργοποίηση κουμπιού | Χρήστος | Access - Ερωτήσεις / Απαντήσεις | 2 | 26-07-13 13:42 |
[Γενικά] Ενεργοποίηση απενεργοποίηση κουμπιού και σήμανση | PANIK | Excel - Ερωτήσεις / Απαντήσεις | 4 | 14-04-12 16:03 |
Η ώρα είναι 07:47.