Access - Ερωτήσεις / Απαντήσεις Access + VBA... Εδώ δεν υπάρχουν όρια! |
| Εργαλεία Θεμάτων | Τρόποι εμφάνισης |
#1
| |||
| |||
Σύνδεση πλαισίου κειμένου με πολλά πεδία
Φίλοι μου θα ήθελα άλλη μια βοήθεια… (προς το παρόν) Θα ήθελα η τιμή μέσα σε ένα πλαίσιο κειμένου μια φόρμας να μην παίρνει μια προκαθορισμένη τιμή από το πεδίο ενός πίνακα, αλλά να παίρνει στοιχεία από το τελευταίο πεδίο μιας ομάδας πεδίων που έχει δεδομένα .. Π.χ. έχουμε 5 πεδία το α1, α2, α3, α4 ,α5 θα ήθελα εάν γίνεται να ξεκινάει και να βλέπει το α5 , εφόσον έχει στοιχεία να το εμφανίζει και τέρμα, εάν δεν έχει να πάει στο α4 και εκεί να ελέγχει το ίδιο, εάν δεν βρει να πάει στο α3 και ούτω καθεξής.. Γίνεται ? |
#2
| ||||
| ||||
Καλησπέρα Χρήστο! Δοκίμασε: Κώδικας: =Switch([a5] Is Not Null;[a5];[a4] Is Not Null;[a4];[a3] Is Not Null;[a3];[a2] Is Not Null;[a2];[a1] Is Not Null;[a1]) Καλή συνέχεια! Τάσος
__________________ Ms-Office Development Team Ανάπτυξη επαγγελματικών εφαρμογών |
#3
| |||
| |||
Καλησπέρα σε όλους Χρήστο στο αρχείο που επισυνάπτω υπάρχει μια φόρμα που πιστεύω ότι έχει τη λειτουργικότητα που θέλεις. Έβαλα 5 πεδία αλλά μπορείς να προσθέσεις όσα θέλεις, αντικαθιστώντας στον κώδικα το 5 με τον πραγματικό αριθμό των πεδίων. Η λειτουργία της φόρμας οφείλεται στον παρακάτω κώδικα. Κώδικας: Function SetValue() As Variant Dim i As Integer SetValue = Null For i = 1 To 5 If Not IsNull(Me.Controls("a" & i)) Then SetValue = Me.Controls("a" & i) Exit For End If Next End Function Private Sub a1_Exit(Cancel As Integer) Me!a6 = SetValue End Sub Private Sub a2_Exit(Cancel As Integer) Me!a6 = SetValue End Sub Private Sub a3_Exit(Cancel As Integer) Me!a6 = SetValue End Sub Private Sub a4_Exit(Cancel As Integer) Me!a6 = SetValue End Sub Private Sub a5_Exit(Cancel As Integer) Me!a6 = SetValue End Sub Private Sub Form_Current() Me!a6 = SetValue End Sub |
#4
| |||
| |||
Καλησπέρα Φίλε Τάσο και με πρόλαβες και δεν πρόσεξα την καταπληκτική λύση σου. Σκεφτόμουνα μια λύση βάζοντας στην προέλευση στοιχείου ελέγχου μια έκφραση iif αλλά ... Καλό βράδυ Γιώργος |
#5
| |||
| |||
Ευχαριστώ τον Γιώργο και τον Τάσο (που με έχει ξελασπώσει πολλές φορές) είδα τις απαντήσεις το πρωί στην δουλειά, εδώ όμως δεν μπορώ να πειραματιστώ, η εφαρμογή τους θα γίνει το βράδι στο σπίτι.. Ευχαριστώ για άλλη μια φορά τα παιδιά που με τις γνώσεις τους στηρίζουν εμάς τους (ατζαμήδες) και το Forum... |
#6
| |||
| |||
Καλησπέρα σε όλους Θα ήθελα να μοιραστώ και με τα υπόλοιπα μέλη του φόρουμ κάτι που έμαθα από την ενασχόληση με το πρόβλημα που έθεσε ο Χρήστος, επειδή το θεωρώ χρήσιμο. Αφορά την αποτίμηση των συναρτήσεων που χρησιμοποιούνται ως προέλευση στοιχείου ελέγχου σε μία φόρμα. Σύμφωνα με το πρόβλημα η τιμή του πλαισίου κειμένου a6 εξαρτάται από τις τιμές των a1, a2, a3, a4, a5. Αρχικά στη μονάδα κώδικα της φόρμας δημιούργησα μία συνάρτηση (SetValue), χωρίς ορίσματα (δε χρειάζονταν) και τη χρησιμοποίησα ως προέλευση του πλαισίου κειμένου a6 , πιστεύοντας ότι, όταν γίνονταν αλλαγές στα πλαίσια κειμένου a1, a2, a3, a4, a5, θα γίνονταν αυτόματα (από την access) νέος υπολογισμός της συνάρτησης και το α6 θα εμφάνιζε τη σωστή τιμή. Δυστυχώς αυτό δε γίνονταν και έτσι αναγκάστηκα να προσθέσω επιπλέον κώδικα σε αντιστοιχία με κάποια συμβάντα. Τελικά διαπίστωσα ότι συνάρτηση επαναϋπολογίζεται αυτόματα, όταν αλλάζουν τα πλαίσια κειμένου, μόνο όταν αυτά είναι παράμετροί της. Έτσι έδωσα στη συνάρτηση SetValue την παρακάτω μορφή: Κώδικας: Function SetValue(ParamArray x() As Variant) As Variant Dim i As Integer SetValue = Null For i = LBound(x) To UBound(x) If Not IsNull(x(i)) Then SetValue = x(i) Exit For End If Next End Function =SetValue([a5];[a4];[a3];[a2];[a1]). Γενικά μπορούμε να χρησιμοποιήσουμε ως παραμέτρους όσα χειριστήρια θέλουμε αρκεί να τα γράψουμε με τη σειρά που επιθυμούμε να ψάχνονται. Στο αρχείο που επισυνάπτω υπάρχει αυτή η υλοποίηση. Φιλικά/Γιώργος |
#7
| |||
| |||
Παράθεση:
Τη γίνεται όμως στην περίπτωση όπου τα στοιχεία τα καταχωρούμε σε μια συνεχόμενη φόρμα, που περιέχει τα παρακάτω πεδία ( [Ημερομηνία] –[ομάδα εργασίας]) .. Εφόσον θελήσω να δημιουργήσω μια έκθεση όπου θα μου εμφανίζει όλους τους μισθωτούς σε ποια ομάδα είναι αυτή την στιγμή κωλύουμε, πρέπει να συνθέσω έτσι το ερώτημα ώστε να βλέπει την πιο πρόσφατη ημερομηνία στο πεδίο [Ημερομηνία] και να παίρνει τα δεδομένα από το αντίστοιχο πεδίο [ομάδα εργασίας] Υπάρχει κάποια λύση φίλοι μου, η να |
#8
| |||
| |||
Καλημέρα σ’ όλους Φίλε Χρήστο δε μπόρεσα να καταλάβω τι ακριβώς θέλεις. Θα βοηθούσε αν ανέβαζες ένα δείγμα της βάσης σου, με τα στοιχεία που καταχωρείς και αν διευκρίνιζες ποια απ’ αυτά θέλεις να εμφανίζονται στην έκθεση και πως. Γιώργος |
#9
| |||
| |||
Λοιπόν φίλε Γιώργο αφού τρέξεις την εφαρμογή και σε κανονική προβολή της φόρμας (minimaze) τρέξε το ερώτημα αξιολόγηση, εκεί εάν είσαι στην πρώτη εγγραφή θα σου εμφανίσει 3 εγγραφές με το ίδιο μητρώο και αυτό ξεκινάει από την υποφόρμα στην καρτέλα τοποθέτηση διότι είναι συνεχείς οι εγγραφές … Ακριβώς εκεί εγώ θα ήθελα να εμφανίζετε στο ερώτημα η τελευταία εγγραφή (πιο πρόσφατη ημερολογιακά), που είναι γραμμένο το οργανόγραμμα, αυτό φαίνεται και στην Υποφόρμα και μπορείς να το ειδής στον πίνακα Π_Τοποθέτηση… |
#10
| |||
| |||
Καλησπέρα σ’ όλους Φίλε Χρήστο, για να δείχνει το ερώτημα μία εγγραφή το έκανα συγκεντρωτικό. Υπέθεσα, επειδή δεν υπάρχει ξεχωριστό πεδίο με τις ημερομηνίες των αλλαγών, ότι ποιο πρόσφατη είναι αυτή με το μεγαλύτερο αριθμό στο πεδίο «Οργανόγραμμα». Γιώργος |
« Προηγούμενο Θέμα
|
Επόμενο Θέμα »
| |
Παρόμοια Θέματα | ||||
Θέμα | Δημιουργός | Forum | Απαντήσεις | Τελευταίο Μήνυμα |
Ενεργοποίηση/Απενεργοποίηση Πλαισίου κειμένου | kellis | Access - Ερωτήσεις / Απαντήσεις | 6 | 06-12-13 23:14 |
[ Φόρμες ] Κλείδωμα πλαισίου κειμένου | Free_Ghost | Access - Ερωτήσεις / Απαντήσεις | 4 | 13-02-13 23:31 |
Σύνδεση σύνθετου πλαισίου με αδέσμευτη υποφόρμα | alex | Access - Ερωτήσεις / Απαντήσεις | 5 | 13-01-13 18:17 |
[ Εκθέσεις ] Πρόβλημα με άθροισμα Πλαισίου κειμένου | kostaskalam | Access - Ερωτήσεις / Απαντήσεις | 3 | 05-10-11 14:28 |
Τιμή πλαισίου κειμένου από ερώτημα | cgian | Access - Ερωτήσεις / Απαντήσεις | 4 | 23-09-11 22:14 |
Η ώρα είναι 08:48.