ms-office.gr > Forum > Microsoft Access > Access - Ερωτήσεις / Απαντήσεις > [ Φόρμες ] Σύνδεση πλαισίου κειμένου με πολλά πεδία

Access - Ερωτήσεις / Απαντήσεις Access + VBA... Εδώ δεν υπάρχουν όρια!

Απάντηση στο θέμα

 

Εργαλεία Θεμάτων Τρόποι εμφάνισης
  #1  
Παλιά 21-09-10, 19:04
Όνομα: Χρήστος
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 24-01-2010
Περιοχή: Φλώρινα
Μηνύματα: 168
Προεπιλογή Σύνδεση πλαισίου κειμένου με πολλά πεδία

Φίλοι μου θα ήθελα άλλη μια βοήθεια… (προς το παρόν)

Θα ήθελα η τιμή μέσα σε ένα πλαίσιο κειμένου μια φόρμας να μην παίρνει μια προκαθορισμένη τιμή από το πεδίο ενός πίνακα, αλλά να παίρνει στοιχεία από το τελευταίο πεδίο μιας ομάδας πεδίων που έχει δεδομένα ..

Π.χ. έχουμε 5 πεδία το α1, α2, α3, α4 ,α5 θα ήθελα εάν γίνεται να ξεκινάει και να βλέπει το α5 , εφόσον έχει στοιχεία να το εμφανίζει και τέρμα, εάν δεν έχει να πάει στο α4 και εκεί να ελέγχει το ίδιο, εάν δεν βρει να πάει στο α3 και ούτω καθεξής..

Γίνεται ?
Απάντηση με παράθεση
  #2  
Παλιά 21-09-10, 20:39
Το avatar του χρήστη Tasos
Διαχειριστής
Όνομα: Τάσος Φιλοξενιδης
Έκδοση λογισμικού Office: Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική, Γερμανική
 
Εγγραφή: 21-10-2009
Μηνύματα: 2.250
Προεπιλογή

Καλησπέρα Χρήστο!
Δοκίμασε:

Κώδικας:
=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  
Παλιά 21-09-10, 21:12
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 18-06-2010
Μηνύματα: 3.737
Προεπιλογή

Καλησπέρα σε όλους

Χρήστο στο αρχείο που επισυνάπτω υπάρχει μια φόρμα που πιστεύω ότι έχει τη λειτουργικότητα που θέλεις.
Έβαλα 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
Φιλικά/Γιώργος
Συνημμένα Αρχεία
Τύπος Αρχείου: mdb accSetValue.mdb (152,0 KB, 30 εμφανίσεις)
Απάντηση με παράθεση
  #4  
Παλιά 21-09-10, 22:47
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 18-06-2010
Μηνύματα: 3.737
Προεπιλογή

Καλησπέρα
Φίλε Τάσο και με πρόλαβες και δεν πρόσεξα την καταπληκτική λύση σου.
Σκεφτόμουνα μια λύση βάζοντας στην προέλευση στοιχείου ελέγχου μια έκφραση iif αλλά ...
Καλό βράδυ
Γιώργος
Απάντηση με παράθεση
  #5  
Παλιά 22-09-10, 06:22
Όνομα: Χρήστος
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 24-01-2010
Περιοχή: Φλώρινα
Μηνύματα: 168
Προεπιλογή

Ευχαριστώ τον Γιώργο και τον Τάσο (που με έχει ξελασπώσει πολλές φορές) είδα τις απαντήσεις το πρωί στην δουλειά, εδώ όμως δεν μπορώ να πειραματιστώ, η εφαρμογή τους θα γίνει το βράδι στο σπίτι..

Ευχαριστώ για άλλη μια φορά τα παιδιά που με τις γνώσεις τους στηρίζουν εμάς τους (ατζαμήδες) και το Forum...
Απάντηση με παράθεση
  #6  
Παλιά 22-09-10, 20:46
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 18-06-2010
Μηνύματα: 3.737
Προεπιλογή

Καλησπέρα σε όλους

Θα ήθελα να μοιραστώ και με τα υπόλοιπα μέλη του φόρουμ κάτι που έμαθα από την ενασχόληση με το πρόβλημα που έθεσε ο Χρήστος, επειδή το θεωρώ χρήσιμο.
Αφορά την αποτίμηση των συναρτήσεων που χρησιμοποιούνται ως προέλευση στοιχείου ελέγχου σε μία φόρμα.
Σύμφωνα με το πρόβλημα η τιμή του πλαισίου κειμένου 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
Στην προέλευση στοιχείου ελέγχου του a6 θα πρέπει να βάλουμε:
=SetValue([a5];[a4];[a3];[a2];[a1]).
Γενικά μπορούμε να χρησιμοποιήσουμε ως παραμέτρους όσα χειριστήρια θέλουμε αρκεί να τα γράψουμε με τη σειρά που επιθυμούμε να ψάχνονται.
Στο αρχείο που επισυνάπτω υπάρχει αυτή η υλοποίηση.

Φιλικά/Γιώργος
Συνημμένα Αρχεία
Τύπος Αρχείου: mdb accSetValueNew.mdb (128,0 KB, 18 εμφανίσεις)
Απάντηση με παράθεση
  #7  
Παλιά 03-12-10, 19:44
Όνομα: Χρήστος
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 24-01-2010
Περιοχή: Φλώρινα
Μηνύματα: 168
Προεπιλογή

Παράθεση:
Αρχική Δημοσίευση από kapetang Εμφάνιση μηνυμάτων
Καλησπέρα σε όλους

Θα ήθελα να μοιραστώ και με τα υπόλοιπα μέλη του φόρουμ κάτι που έμαθα από την ενασχόληση με το πρόβλημα που έθεσε ο Χρήστος, επειδή το θεωρώ χρήσιμο.
Αφορά την αποτίμηση των συναρτήσεων που χρησιμοποιούνται ως προέλευση στοιχείου ελέγχου σε μία φόρμα.
Σύμφωνα με το πρόβλημα η τιμή του πλαισίου κειμένου 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
Στην προέλευση στοιχείου ελέγχου του a6 θα πρέπει να βάλουμε:
=SetValue([a5];[a4];[a3];[a2];[a1]).
Γενικά μπορούμε να χρησιμοποιήσουμε ως παραμέτρους όσα χειριστήρια θέλουμε αρκεί να τα γράψουμε με τη σειρά που επιθυμούμε να ψάχνονται.
Στο αρχείο που επισυνάπτω υπάρχει αυτή η υλοποίηση.

Φιλικά/Γιώργος
Όλα αυτά φίλοι μου μπορούμε να τα χρησιμοποιήσουμε όταν υπάρχουν συγκεκριμένα πλαίσια & Πεδία..

Τη γίνεται όμως στην περίπτωση όπου τα στοιχεία τα καταχωρούμε σε μια συνεχόμενη φόρμα, που περιέχει τα παρακάτω πεδία ( [Ημερομηνία] –[ομάδα εργασίας]) ..

Εφόσον θελήσω να δημιουργήσω μια έκθεση όπου θα μου εμφανίζει όλους τους μισθωτούς σε ποια ομάδα είναι αυτή την στιγμή κωλύουμε, πρέπει να συνθέσω έτσι το ερώτημα ώστε να βλέπει την πιο πρόσφατη ημερομηνία στο πεδίο [Ημερομηνία] και να παίρνει τα δεδομένα από το αντίστοιχο πεδίο [ομάδα εργασίας]

Υπάρχει κάποια λύση φίλοι μου, η να
Απάντηση με παράθεση
  #8  
Παλιά 04-12-10, 11:23
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 18-06-2010
Μηνύματα: 3.737
Προεπιλογή

Καλημέρα σ’ όλους

Φίλε Χρήστο δε μπόρεσα να καταλάβω τι ακριβώς θέλεις.
Θα βοηθούσε αν ανέβαζες ένα δείγμα της βάσης σου, με τα στοιχεία που καταχωρείς και αν διευκρίνιζες ποια απ’ αυτά θέλεις να εμφανίζονται στην έκθεση και πως.

Γιώργος
Απάντηση με παράθεση
  #9  
Παλιά 04-12-10, 12:44
Όνομα: Χρήστος
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 24-01-2010
Περιοχή: Φλώρινα
Μηνύματα: 168
Προεπιλογή

Λοιπόν φίλε Γιώργο αφού τρέξεις την εφαρμογή και σε κανονική προβολή της φόρμας (minimaze) τρέξε το ερώτημα αξιολόγηση, εκεί εάν είσαι στην πρώτη εγγραφή θα σου εμφανίσει 3 εγγραφές με το ίδιο μητρώο και αυτό ξεκινάει από την υποφόρμα στην καρτέλα τοποθέτηση διότι είναι συνεχείς οι εγγραφές …

Ακριβώς εκεί εγώ θα ήθελα να εμφανίζετε στο ερώτημα η τελευταία εγγραφή (πιο πρόσφατη ημερολογιακά), που είναι γραμμένο το οργανόγραμμα, αυτό φαίνεται και στην Υποφόρμα και μπορείς να το ειδής στον πίνακα Π_Τοποθέτηση…


Συνημμένα Αρχεία
Τύπος Αρχείου: zip Test_dp.zip (104,2 KB, 2 εμφανίσεις)
Απάντηση με παράθεση
  #10  
Παλιά 04-12-10, 14:50
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 18-06-2010
Μηνύματα: 3.737
Προεπιλογή

Καλησπέρα σ’ όλους

Φίλε Χρήστο, για να δείχνει το ερώτημα μία εγγραφή το έκανα συγκεντρωτικό.
Υπέθεσα, επειδή δεν υπάρχει ξεχωριστό πεδίο με τις ημερομηνίες των αλλαγών, ότι ποιο πρόσφατη είναι αυτή με το μεγαλύτερο αριθμό στο πεδίο «Οργανόγραμμα».

Γιώργος
Συνημμένα Αρχεία
Τύπος Αρχείου: zip Test_dp2.zip (109,8 KB, 7 εμφανίσεις)
Απάντηση με παράθεση
Απάντηση στο θέμα


Δικαιώματα - Επιλογές
Δε μπορείτε να δημοσιεύσετε νέα μηνύματα
Δε μπορείτε να δημοσιεύσετε απαντήσεις
Δεν μπορείτε να επισυνάψετε αρχεία
Δεν μπορείτε να επεξεργαστείτε τα μηνύματα σας

Ο κώδικας ΒΒ είναι σε λειτουργία
Τα Smilies είναι σε λειτουργία
Ο κώδικας [IMG] είναι σε λειτουργία
Ο κώδικας HTML είναι εκτός λειτουργίας
Trackbacks are εκτός λειτουργίας
Pingbacks are εκτός λειτουργίας
Refbacks are εκτός λειτουργίας


Παρόμοια Θέματα

Θέμα Δημιουργός Forum Απαντήσεις Τελευταίο Μήνυμα
Ενεργοποίηση/Απενεργοποίηση Πλαισίου κειμένου kellis Access - Ερωτήσεις / Απαντήσεις 6 06-12-13 22:14
[ Φόρμες ] Κλείδωμα πλαισίου κειμένου Free_Ghost Access - Ερωτήσεις / Απαντήσεις 4 13-02-13 22:31
Σύνδεση σύνθετου πλαισίου με αδέσμευτη υποφόρμα alex Access - Ερωτήσεις / Απαντήσεις 5 13-01-13 17:17
[ Εκθέσεις ] Πρόβλημα με άθροισμα Πλαισίου κειμένου kostaskalam Access - Ερωτήσεις / Απαντήσεις 3 05-10-11 13:28
Τιμή πλαισίου κειμένου από ερώτημα cgian Access - Ερωτήσεις / Απαντήσεις 4 23-09-11 21:14


Η ώρα είναι 18:21.