Forum

Forum (https://www.ms-office.gr/forum/)
-   Access - Ερωτήσεις / Απαντήσεις (https://www.ms-office.gr/forum/access-erotiseis-apantiseis/)
-   -   [ Φόρμες ] Απενεργοποίηση πεδίων φόρμας (https://www.ms-office.gr/forum/access-erotiseis-apantiseis/1314-apenergopoiisi-pedion-formas.html)

ΤΖΙΜΗΣ 20-08-11 15:44

Απενεργοποίηση πεδίων φόρμας
 
1 Συνημμένο(α)
Καλό μεσημέρι σε όλη την κοινότητα.Στο αρχείο που ανεβάζω θέλω να γίνεται τι εξής
Στο πεδίο epaggelma και στο συμβάν με την έξοδο έχω τον εξής κώδικα:
Private Sub epaggelma_Exit(Cancel As Integer)
Select Case epaggelma
Case "Δημόσιος Υπάλληλος"
Me!afm.SetFocus
Case "Ελεύθερος Επαγγελματίας"
Me!afm.SetFocus
Case "Ιδιωτικός Υπαλληλος"
Me!ika.SetFocus
End Select
End Sub
ο οποίος ανάλογα με την επιλογή από το σύνθετο πλαίσιο ορίζει την εστίαση (Focus) σε διαφορετικά στοιχεία της φόρμας. Δηλαδή αν επιλέξουμε Δημόσιος Υπάλληλος ο δείκτης εστιάζεται αμέσως στο πεδίο ΑΦΜ.
Θα ήθελα ταυτόχρονα με την επιλογή του σύνθετου πλαισίου και στο ίδιο συμβάν να απενεργοποιούνται και τα πεδία (να μην είναι διαθέσιμα) που παρακάμπτονται.
Δηλαδή αν επιλέξουμε Δημόσιος Υπάλληλος το πεδίο ΙΚΑ(ika) & ΑΜΚΑ(amka) να μην είναι διαθέσιμα (γκρίζο χρώμα) ώστε να καταλαβαίνει ο χρήστης ότι δεν πρέπει να συμπληρωθούν , ενώ στη αντίθετη περίπτωση να ενεργοποιούνται.
Φιλικά Τζίμης.

Tasos 20-08-11 17:04

1 Συνημμένο(α)
Καλησπέρα Τζίμη!

Μπορείς να εφαρμόσεις στα πεδία που σ ενδιαφέρουν τη μέθοδο "Μορφοποίηση υπό όρους" (βλ. συνημμένο).

Έτσι δεν θα χρειαστείς και τον κώδικα για να μεταφέρεις την εστίαση από πεδίο σε πεδίο.

Καλό απόγευμα!

Τάσος

ΤΖΙΜΗΣ 20-08-11 17:30

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

Dimitris Ch 20-08-11 20:10

Παράθεση:

Αρχική Δημοσίευση από ΤΖΙΜΗΣ (Μήνυμα 7684)
Taso έχεις δίκιο μια λύση χωρίς κώδικα πιο απλή και κατανοητή.Απλώς όταν γίνεται επιλογή από το σύνθετο πλαίσιο δεν γκριζάρει το πεδίο άμεσα ώστε να καταλάβει ο χρήστης γρήγορα οτι δεν πρέπει να συμπληρωθεί.Πάντως αν είχες τίποτα υπόψη σου με κώδικα για το λόγο ότι ήδη έχω φτιάξει τον αντίστοιχο για την εστίαση, θα ήταν καλοδεχούμενο.
Να είσαι καλά.

Καλησπέρα στην παρέα
ΤΖΙΜΗ αν θέλεις κώδικα δοκίμασε αυτό

Private Sub epaggelma_AfterUpdate()
Select Case epaggelma
Case "Ιδιωτικός Υπάλληλος"
Me.ika.Enabled = True: Me.amka.Enabled = True
Me.ika.BackColor = 16777216: Me.amka.BackColor = 16777216
Case Else
Me.ika.Enabled = False: Me.amka.Enabled = False
Me.ika.BackColor = 12632256: Me.amka.BackColor = 12632256
End Select
End Sub

Καλό θα είναι να κάνεις το ίδιο και στο
Private Sub Form_Current()

Δοίμασε και πες μας

dimmag 20-08-11 20:19

Καλησπέρα στην παρέα
ΤΖΙΜΗ αν θέλεις δοκίμασε και αυτό

Private Sub epaggelma_Exit(Cancel As Integer)
Select Case epaggelma
Case "Δημόσιος Υπάλληλος"
Me!afm.SetFocus
Me!ika.Enabled = False

Case "Ελεύθερος Επαγγελματίας"
Me!afm.SetFocus
Me!ika.Enabled = False

Case "Ιδιωτικός Υπάλληλος"
Me!ika.Enabled = True

Me!ika.SetFocus
End Select
End Sub

Φιλικά Δημήτρης

dimmag 20-08-11 20:34

Δημήτρη συγνώμη δεν είχα δει την απάντησή σου λέμε το ίδιο

Tasos 20-08-11 21:16

1 Συνημμένο(α)
Τζίμη, σίγουρα με τη μέθοδο της Μορφοποίησης υπό όρους, τα πεδία θα απενεργοποιηθούν ακόμα και αν ο χρήστης δεν βγει από το σύνθετο πλαίσιο (Exit).

Κατά τη γνώμη μου, είναι προτιμότερο να εμφανίζεται σε σταθερή θέση μόνο το πεδίο που αντιστοιχεί στην τιμή του σύνθετου πλαισίου.

Θα πρότεινα τη χρήση του συμβάντος AfterUpdate() του σύνθετου πλαισίου καθώς και του συμβάντος Current() (βλ. συνημμένο).

Καλή συνέχεια!

Τάσος

ΤΖΙΜΗΣ 21-08-11 23:38

Δημήτριδες & Τάσο τώρα μόλις μπόρεσα και είδα τις απαντήσεις σας.Πράγματι εξαιρετικές.Αυτό ακριβώς ήθελα.Να είστε όλοι πάντα καλά.
Με εκτίμηση Τζίμης.


Η ώρα είναι 20:09.

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


Search Engine Optimization by vBSEO 3.3.2