Access - Ερωτήσεις / Απαντήσεις Access + VBA... Εδώ δεν υπάρχουν όρια! |
| Εργαλεία Θεμάτων | Τρόποι εμφάνισης |
#1
| |||
| |||
Μορφοποίηση υπο όρους
Καλησπέρα Εχω φτιάξει ένα πλάνο για απουσίες για να βλέπω ενδεικτικά ποιός λείπει. Θέλω απο τον πίνακα StudentT να εμφανίζει με πράσινο χρώμα σε όλα τα πλαίσια της φόρμας (Plano_Apusion) τους παρόντες. Παρόντες είναι αυτοί που( το πεδίο Αttentdance είναι τσεκαρισμένο). Με κόκκινο χρώμα τους απόντες όπου δεν είναι τσεκαρισμένο το πεδίο Αttentdance. Βασικά έχω κάνει την φόρμα με το πλάνο. Εχω κάνει και μιά φόρμα Categories με τα δύο χρώματα. Μήπως γνωρίζει κάποιο μέλος πως μπορώ να εμφανίζω στη φόρμα τα χρώματα; Στέλνω κάποιο δείγμα της βάσης Φιλικά/Αλέξανδρος Τελευταία επεξεργασία από το χρήστη alex : 14-10-12 στις 00:09. |
#2
| ||||
| ||||
Καλημέρα Αλέξανδρε! Μπορείς να δεις στο συνημμένο μια λύση χωρίς VBA. Πιστεύω ότι θα σε καλύψει. Καλή συνέχεια! Τάσος
__________________ Ms-Office Development Team Ανάπτυξη επαγγελματικών εφαρμογών |
#3
| |||
| |||
Καλημέρα Τάσο ! Για μια ακόμη φορά πραγματικά ζωγράφισες. Ακριβώς αυτό ήθελα.Βέβαια σε ευχαριστώ για τη βοήθεια και για το χρόνο που διέθεσες.Δεν έχω άλλα λόγια να σε ευχαριστήσω μου έλυσες τα χέρια. Καλή σου μέρα Αλέξανδρος |
#4
| |||
| |||
Παράθεση:
Πήρα και προσάρμοσα τη βάση που φτιάξατε, στις δικές μου ανάγκες, (αν αυτό δεν είναι σωστό πείτε μου) και θέλω αν γίνεται τα έγχρωμα κουτάκια να παραμένουν λευκά όταν δεν υπάρχει μάθημα, ή προπόνηση στην περίπτωσή μου. Για παράδειγμα τις Κυριακές. Με λίγα λόγια να χρωματίζονται μόνο σε συνάρτηση με την ημερομηνία καταγραφής. Ευχαριστώ πολύ! Γιώργος. |
#5
| ||||
| ||||
Αλέξανδρε, Γιώργο καλημέρα! Αλέξανδρε χαίρομαι που βοήθησα! Γιώργο, στο παράδειγμα που ανέβασα στο προηγούμενο μήνυμα μου, μπορείς να χρησιμοποιήσεις τον παρακάτω κώδικα σε μια απλή λειτουργική μονάδα για να τροποποιήσεις την Προέλευση Στοιχείου ελέγχου των πεδίων του υποσέλιδου της φόρμας (για να μην γράφεις στα 31 πεδία χειροκίνητα). Ο τροποποιημένος τύπος στην Προέλευση Στοιχείου ελέγχου των πεδίων επιστρέφει ημερομηνία μόνο όταν η δεύτερη υπάρχει στον πίνακα. Κώδικας: Option Compare Database Option Explicit Sub SetFieldFormulas() Dim ctrl As Access.Control, i As Integer DoCmd.OpenForm "Plano_Apusion", acDesign For Each ctrl In Forms!Plano_Apusion.Section(2).Controls If Len(ctrl.Name) < 4 And Left(ctrl.Name, 1) = "D" Then If TypeOf ctrl Is Access.TextBox Then i = i + 1 ctrl.ControlSource = "=IIf(Nz(Dlookup(""[AttendanceID]""" & _ ",""[AttendanceT]"",""[AttendanceDate] = #"" & Format(DateSerial([cboEtos],[FraMonths]," & _ i & "),""m/d/yyyy"") & ""#""),0)=0,Null,DateSerial([cboEtos],[FraMonths]," & i & "))" End If End If Next 'Αποθήκευσε τις αλλαγές End Sub Τάσος
__________________ Ms-Office Development Team Ανάπτυξη επαγγελματικών εφαρμογών |
#6
| |||
| |||
Τάσο σ' ευχαριστώ για την απάντηση, αλλά δεν κατάλαβα τίποτα. Άλλωστε οι γνώσεις μου από κώδικες περιορίζονται στο If αυτό = τόσο Then εκείνο = κάτι. Πάντως αυτό που ζήτησα δεν είναι και τόσο σημαντικό για να επιμείνω. Για άλλη μια φορά ευχαριστώ και σένα και όλους όσους στηρίζουν αυτό το φόρουμ. Φιλικά Γιώργος |
#7
| ||||
| ||||
Αγαπητέ Γιώργο, Τα πεδία Τ1, Τ2, Τ3, ..... Τ31 στη λεπτομέρεια της φόρμας θα επιστρέψουν την τιμή 0 ή -1 (True ή False) μόνο αν τα αντίστοιχα πεδία στο υποσέλιδο της φόρμας δεν είναι Null. Διαφορετικά θα είναι Null και κατά συνέπεια δεν θα "χρωματιστούν" από τη μορφοποίηση υπό όρους που τους έχει οριστεί. Με άλλα λόγια ένα πεδίο της λεπτομέρειας θα πάρει τιμή και κατά συνέπεια χρώμα αν το αντίστοιχο του πεδίο στο υποσέλιδο περιέχει μια ημερομηνία. Άρα, αυτό που μένει να κάνουμε είναι να τροποποιήσουμε τον τύπο στα πεδία του υποσέλιδου (D1, D2, D3, ..... D31) έτσι ώστε να μας επιστρέφει την ημερομηνία πχ. 01/10/2012 μόνο όταν αυτή υπάρχει στον πίνακα. Έχουμε λοιπόν: Για το πεδίο D1 τον τύπο: Κώδικας: =IIf(Nz(DLookUp("[AttendanceID]";"[AttendanceT]";"[AttendanceDate] = #" & Format(DateSerial([cboEtos];[FraMonths];1);"μ/η/αααα") & "#");0)=0;Null;DateSerial([cboEtos];[FraMonths];1)) Κώδικας: =IIf(Nz(DLookUp("[AttendanceID]";"[AttendanceT]";"[AttendanceDate] = #" & Format(DateSerial([cboEtos];[FraMonths];2);"μ/η/αααα") & "#");0)=0;Null;DateSerial([cboEtos];[FraMonths];2)) Για να μην χρειαστεί να κάνεις όλη αυτή τη δουλειά χειροκίνητα σε 31 πεδία σου έστειλα τον κώδικα στο προηγούμενο μου μήνυμα. Σου επισυνάπτω ένα αρχείο/παράδειγμα όπου χρωματίζονται τα πεδία εκείνα μόνο όταν υπάρχει η αντίστοιχη ημερομηνία ( στην περίπτωση μας 15/10/2012). Φιλικά / Τάσος
__________________ Ms-Office Development Team Ανάπτυξη επαγγελματικών εφαρμογών |
#8
| |||
| |||
Καλημέρα, Τάσο ευχαριστώ πολύ! Είσαι άψογος! |
« Προηγούμενο Θέμα
|
Επόμενο Θέμα »
| |
Παρόμοια Θέματα | ||||
Θέμα | Δημιουργός | Forum | Απαντήσεις | Τελευταίο Μήνυμα |
[Μορφοποίηση] Μορφοποίηση Υπό όρους | Spirosgr | Excel - Ερωτήσεις / Απαντήσεις | 7 | 08-11-17 12:44 |
[Μορφοποίηση] μορφοποιηση υπο ορους | ευη79 | Excel - Ερωτήσεις / Απαντήσεις | 6 | 01-12-14 19:23 |
[Μορφοποίηση] Μορφοποίηση υπό όρους | fforward72 | Excel - Ερωτήσεις / Απαντήσεις | 2 | 25-05-12 22:47 |
Μορφοποίηση υπό όρους | Χρήστος | Access - Ερωτήσεις / Απαντήσεις | 3 | 06-02-12 22:49 |
[Μορφοποίηση] Μορφοποίηση υπό όρους | Χρήστος | Excel - Ερωτήσεις / Απαντήσεις | 6 | 20-10-11 14:10 |
Η ώρα είναι 07:31.