Ανανέωση ιστοσελίδας
ms-office.gr > Forum > Microsoft Access > Access - Ερωτήσεις / Απαντήσεις > [ Ερωτήματα ] IIF με χρήση τελεστή πεδίο τύπου Ναι/Όχι

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

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

 

Εργαλεία Θεμάτων Τρόποι εμφάνισης
  #1  
Παλιά 13-03-12, 13:41
Όνομα: Φαίη
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2007, Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 13-03-2012
Μηνύματα: 2
Exclamation IIF με χρήση τελεστή πεδίο τύπου Ναι/Όχι

Καλησπέρα. Παρακαλώ χρειάζομαι βοήθεια στην σύνταξη της συνάρτησης IIF.
Θέλω μέσα στο Πεδίο με όνομα "Ποσό εγγύησης 1" να εισάγω συνάρτηση η οποία θα ελέγχει εάν το πεδίο "Επιστράφηκε" το οποίο είναι τύπου Ναι/Όχι έχει επιλεγεί ή όχι. Σε περίπτωση που θα είναι επιλεγμένο να εμφανίζει τον αριθμό μηδέν ενώ για όσο δεν θα είναι επιλεγμένο να επιτρέπει στον χρήστη να εισάγει ότι ποσό θέλει μέσα στο "Ποσό εγγύησης 1".
Παρακαλώ όποιος μπορεί όσο πιο γρήγορα να μου απαντήσει γιατί έχω να παραδώσω μία εργασία και έχω κολλήσει απίστευτα σε αυτό!
Ευχαριστώ!!!
Απάντηση με παράθεση
  #2  
Παλιά 13-03-12, 16:33
Το avatar του χρήστη Tasos
Διαχειριστής
Όνομα: Τάσος Φιλοξενιδης
Έκδοση λογισμικού Office: Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική, Γερμανική
 
Εγγραφή: 21-10-2009
Μηνύματα: 2.011
Προεπιλογή

Αγαπητή Φαίη καλωσόρισες στην παρέα μας!

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

Κάτι τέτοιο μπορεί να επιτευχθεί μόνο προγραμματιστικά.

Σύμφωνα με το ζητούμενο σου, θέλεις να επιτρέπεται στο χρήστη να καταχωρεί στο πεδίο "Ποσό εγγύησης 1" όταν το πεδίο "Επιστράφηκε" δεν έχει τσεκαριστεί.

Τι θα περιέχει το "Ποσό εγγύησης 1" όταν το πεδίο "Επιστράφηκε" έχει
τσεκαριστεί;

Αν η τιμή του πεδίου "Ποσό εγγύησης 1" θα αποθηκεύεται σε πίνακα τότε
θα μπορούσαμε να σου προτείνουμε μια λύση.

Περιμένουμε νέα σου.

Τάσος
__________________
Ms-Office Development Team
Ανάπτυξη επαγγελματικών εφαρμογών
Απάντηση με παράθεση
  #3  
Παλιά 13-03-12, 16:35
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 18-06-2010
Μηνύματα: 3.674
Προεπιλογή

Καλησπέρα

Φαίη, καλωσόρισες στην παρέα του φόρουμ.

Αυτό που ζητάς, με συνάρτηση, δε γίνεται.

Σε πεδίο που υπάρχει τύπος η access δεν επιτρέπει να πληκτρολογούμε και δεδομένα.

Μπορείς να προσομοιώσεις το ζητούμενο προσθέτοντας στη φόρμα τον παρακάτω κώδικα.

Κώδικας:
Option Compare Database
Option Explicit

Private Sub Form_Current()
    If Me.NewRecord Then
        Me.Ποσό_εγγύησης_1.Locked = False
    Else
        If Me.Επιστράφηκε Then
            Me.Ποσό_εγγύησης_1.Locked = True
        Else
            Me.Ποσό_εγγύησης_1.Locked = False
        End If
    End If
End Sub

Private Sub Επιστράφηκε_AfterUpdate()
    If Me.Επιστράφηκε Then
        Me.Ποσό_εγγύησης_1 = 0
        Me.Ποσό_εγγύησης_1.Locked = True
    Else
        Me.Ποσό_εγγύησης_1.Locked = False
    End If
End Sub
Κάνε δοκιμές και ενημέρωσε το φόρουμ, αν καλύφτηκες

Φιλικά/Γιώργος
Απάντηση με παράθεση
  #4  
Παλιά 13-03-12, 19:55
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 18-06-2010
Μηνύματα: 3.674
Προεπιλογή

Καλησπέρα

Η ενεργοποίηση και απενεργοποίηση του πεδίου «Ποσό εγγύησης 1» μπορεί να γίνει και χωρίς κώδικα χρησιμοποιώντας την μορφοποίηση υπό όρους.

Για να την εφαρμόσουμε, ακολουθούμε τα βήματα:

1. Στη σχεδίαση της φόρμας με επιλεγμένο το πλαίσιο κειμένου «Ποσό εγγύησης 1» πατούμε το κουμπί της κορδέλας «Μορφοποίηση υπό όρους» (Conditional).

2. Στο πτυσσόμενο πλαίσιο επιλέγουμε «Έκφραση» (Expresion is) και δίπλα στο πλαίσιο κειμένου γράφουμε: [Επιστράφηκε].

3. Πατούμε το κουμπί δεξιά «Ενεργοποίηση» (Enabled), ώστε το πλαίσιο κειμένου να απενεργοποιείται όταν η συνθήκη είναι αληθής και το OK, για να κλείσει το παράθυρο της μορφοποίησης υπό όρους.

Για να παίρνει το πλαίσιο κειμένου «Ποσό εγγύησης 1» τη μηδενική τιμή, όταν το «Επιστράφηκε» είναι τσεκαρισμένο, χρειάζεται να προστεθεί στη φόρμα ο κώδικας.

Κώδικας:
Private Sub Επιστράφηκε_AfterUpdate()
    If Me.Επιστράφηκε Then Me.Ποσό_εγγύησης_1 = 0
End Sub
Τη λύση αυτή τη θεωρώ καλύτερη από την προτεινόμενη στο προηγούμενο μήνυμά μου.

Φιλικά/Γιώργος
Απάντηση με παράθεση
  #5  
Παλιά 14-03-12, 11:23
Όνομα: Φαίη
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2007, Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 13-03-2012
Μηνύματα: 2
Red face Μορφοποίηση υπό όρους η λύση για το ζητούμενο

Χρησιμοποίησα την δεύτερη πρότασή σου και λειτουργεί τέλεια. Ευχαριστώ Πολύ Γιώργο για την άμεση απάντησή σου!
Προχωρώντας στην ίδια άσκηση αντιμετωπίζω και κάποιες ακόμη δυσκολίες. Θα τις γράψω σε ένα νέο θέμα.
Ευχαριστώ πολύ και πάλι για την πολύτιμη βοήθειά σου.
Απάντηση με παράθεση
Απάντηση στο θέμα


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

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


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

Θέμα Δημιουργός Forum Απαντήσεις Τελευταίο Μήνυμα
[Γενικά] Αυτόματη επικόλληση τύπου απο το προηγούμενο κελί. makoulis Excel - Ερωτήσεις / Απαντήσεις 4 30-05-12 16:32
[ Συναρτήσεις ] ΑΝΑΖΗΤΗΣΗ ΤΥΠΟΥ vangelis67 Access - Ερωτήσεις / Απαντήσεις 5 04-03-12 11:33
[ Φόρμες ] Φόρμα τύπου πίνακα Δημήτρης Access - Ερωτήσεις / Απαντήσεις 2 10-01-12 09:29
[ Συναρτήσεις ] ΑΝΑΖΗΤΗΣΗ ΤΥΠΟΥ vangelis67 Access - Ερωτήσεις / Απαντήσεις 2 27-11-11 23:57
[Συναρτήσεις] Αναζητηση τυπου.... steliosx Excel - Ερωτήσεις / Απαντήσεις 2 30-09-10 19:29


Η ώρα είναι 07:38.