Ανανέωση ιστοσελίδας
ms-office.gr > Forum > Microsoft Access > Access - Ερωτήσεις / Απαντήσεις > Μετατροπή συνάρτησης σε ερώτημα με Conc πεδίο

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

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

 

Εργαλεία Θεμάτων Τρόποι εμφάνισης
  #1  
Παλιά 20-01-15, 12:47
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2007, Ms-Office 2013
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 02-04-2013
Περιοχή: Κύπρος
Μηνύματα: 738
Προεπιλογή Μετατροπή συνάρτησης σε ερώτημα με Conc πεδίο

Αγαπητοί φίλοι του φόρουμ σας χαιρετώ,

Σε ένα ερώτημα έχω δημιουργήσει μια συνάρτηση έτσι ώστε να αφενώς μεν να "μαζεύει" τα δεδομένα που χρειάζομαι και να τα παρουσιάζει σε ένα πεδίο. Δηλαδή:

Έχω την συνάρτηση:

Conc: IIf([Dosage] Is Null;"";[Dosage] & " gr. (") & [pQty] & " " & [Size] & " " & [object] & IIf([Dosage] Is Null;"";")") λαμβάνω τα εξής αποτελέσματα στο εν λόγο πεδίο (Conc) : 250 gr. (1 μέτριο κομμάτι)

Όπου δηλαδή [pQty] =1, [Size]= μέτριο , [object]=κομμάτι.
Όπου [Dosage] = 250gr

Το ζητούμενο είναι: Εάν και εφόσον τα πεδία [pQty] , [Size] και [object] είναι κενά (δηλαδή δεν έχουν τιμή) τότε θα ήθελα η συνάρτηση να μετατραπεί έτσι ώστε να δίνει σαν αποτέλεσμα στο πεδίο Conc μόνον την τιμή του πεδίου [Dosage] και το πρόσθετο "gr". Τώρα εφόσον αυτά τα πεδία είναι κενά λαμβάνω αποτέλσμα το 250gr ( ) και δεν θα ήθελα να συμβαίνει αυτό. Δηλαδή δεν θέλω να φαίνονται οι παρενθέσεις καθόλου εφόσον δεν έχουν τιμές τα πεδία [pQty] , [Size] και [object]

Θα εκτιμούσα έαν μπορούσε κάποιος φίλος να βοηθήσει.

Ευχαριστώ εκ προτέρων
Απάντηση με παράθεση
  #2  
Παλιά 20-01-15, 15:54
Το avatar του χρήστη Spirosgr
Συντονιστής
Όνομα: Σπύρος Τσιλιγιάννης
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2007, Ms-Office 2010, Ms-Office 2013, Ms-Office 2016, Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 22-11-2011
Περιοχή: Αθήνα
Μηνύματα: 2.321
Προεπιλογή

Καλησπέρα
Μπορείς να διαχειριστείς την περίπτωση πολλαπλών καταστάσεων, με την Switch.


Κώδικας:
Conc: IIf([Dosage] Is Null;"";IIf(Switch([pQty] Is Null;"";[Size] Is Null;"";
[object] Is Null;"");[Dosage] & "gr";[Dosage] & "gr (" & [pQty] &
 " " & [Size] & " " & [object] & ")"))
Ο τύπος, αποδίδει 250gr, αν, όλα είναι Null, εκτός από το [Dosage].
Βάλε τον σε μια γραμμή και κάνε έλεγχο, για τυχόν κενά κατά την αντιγραφή.
Απάντηση με παράθεση
  #3  
Παλιά 20-01-15, 16:43
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2007, Ms-Office 2013
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 02-04-2013
Περιοχή: Κύπρος
Μηνύματα: 738
Προεπιλογή

Καλησπέρα φίλε Σπύρο και σε ευχαριστώ για την βοήθεια.

Σπύρο έχω δοκιμάσει την λύση που προτείνεις αλλά αν και φαίνεται πως δουλεύει όπως θα ήθελα εντούτις έχω προσέξει ότι υπάρχει το εξής πρόβλημα. Εξηγώ:

Έχω στο πεδίο [TheFood] = Κοτόπουλο κρέας ψητό 120 gr. (1 κομμάτι). Η ανάλυση του αποτελέσματος αυτού είναι:

1. Τα αποτελέσματα απο ένα δεύτερο πεδίο το [Food] συνδεδεμένα με το πεδίο [Conc] που είχα του οποίου η αναλυση είναι το [pQty] = 1 , το [Size] = Null και το [object] = κομματι

2. Τώρα με την νέα συνάρτηση λαμβάνω ώς αποτέλεσμα στο πεδίο [TheFood] εφοσον το συνδέσω με το πεδίο [ConcNew] που
τρέχει η νέα συνάρτηση = Κοτόπουλο κρέας ψητό 120 gr και δεν μου δίνει και τα δεδομένα απο τα πεδία [pQty] = 1 , [Size]=Null και [object] = κομμάτι.

Για να μην σε κουράζω φίλε Σπύρο, έν κατακλείδι έχω παρατηρήσει ότι αυτό ωφείλεται όταν το πεδίο [Size] = Null.
Για να γίνω πιο αντιληπτώς παραθέτω ένα παράδειγμα πιο κάτω με τα αποτελέσματα απο την σύνδεση των πεδίων [Food] & " "&[Conc]

Αποτελέσματα πεδίου [TheFood] = [Food] & " " & [Conc]
Κοτόπουλο κρέας ψητό 120 gr (1 κομμάτι)


Αποτελέσματα πεδίου [TheFood] = [Food] & " " & [ConcNew]
Κοτόπουλο κρέας ψητό 120 gr


Παλαιά συνάρτηση [Conc]
120 gr. (1 κομμάτι)

B] Νέα συνάρτηση[/B] [ConcNew]
120gr
Απάντηση με παράθεση
  #4  
Παλιά 21-01-15, 10:48
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 18-06-2010
Μηνύματα: 3.674
Προεπιλογή

Καλημέρα

Στη συνημμένη ΒΔ, προτείνω μια λύση με κώδικα.

Η ΒΔ περιέχει:

1) Τη συνάρτηση χρήστη Concat(Dosage, pQty, Size, Object), που δημιουργεί τη ζητούμενη συμβολοσειρά.

2) Τον πίνακα Table1 και το ερώτημα Query1.

Χρησιμοποιούνται για μια επίδειξη του τρόπου χρήσης της συνάρτησης.

Φιλικά/Γιώργος
Συνημμένα Αρχεία
Τύπος Αρχείου: mdb Concatenate.mdb (420,0 KB, 17 εμφανίσεις)
Απάντηση με παράθεση
  #5  
Παλιά 21-01-15, 14:55
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2007, Ms-Office 2013
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 02-04-2013
Περιοχή: Κύπρος
Μηνύματα: 738
Προεπιλογή

Φίλε Γιώργο σε χαιρετώ..!

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

Εύγε φίλε Γιώργο και να είσαι πάντα καλά..

Στο σημείο αυτό να σε ευχαριστήσω διότι εκτός άλλων μου έχεις δώσει "τροφή" για μελέτη πάνω απο όλα και αυτό που μου χρειάζεται αυτη την στιγμή είναι να μπορέσω να εφαρμόσω την λύση που προτείνεις στην δική μου βάση και κατ' επέκταση στο δικό μου πρόβλημα.

Σε ευχαριστώ πολύ.

Υ.Γ: Γιώργο θα προσπαθήσω να προσαρμόσω την ιδέα της λύσης σου στο πρόβλημα μου το οποίο ουσιαστικά αφορά την εκτύπωση μιας έκθεσης. Η έκθεση αυτή παίρνει δεδομένα απο ένα σχετικό ερώτημα στο οποίο φυσικά έχω τα εν λόγο πεδία μέσα [TheFood] , [Food] και [Conc]. Θα επανέλθω για βοήθεια εάν και εφόσον αυτό μου είναι απαραίτητο για να μην απασχολώ το forum με τις ανιδαιότητες μου (τουλάχιστον στο επίπεδο κώδικα vba που είμαι παντελώς σχεδόν άσχετος)
Απάντηση με παράθεση
  #6  
Παλιά 21-01-15, 15:28
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 18-06-2010
Μηνύματα: 3.674
Προεπιλογή

Φίλε Γιώργο είσαι υπερβολικός στους επαίνους!
Σε κάθε περίπτωση, σ’ ευχαριστώ.
Απάντηση με παράθεση
Απάντηση στο θέμα


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

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


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

Θέμα Δημιουργός Forum Απαντήσεις Τελευταίο Μήνυμα
[ Ερωτήματα ] Counter σε ερώτημα και μετατροπή αυτού σε αριθμό mousatos Access - Ερωτήσεις / Απαντήσεις 2 23-08-14 20:48
Πεδίο αρίθμησης εγγραφών σε ερώτημα ggreg75 Access - Ερωτήσεις / Απαντήσεις 3 26-03-13 11:17
msgbox από πεδίο από ερώτημα tzvangel Access - Ερωτήσεις / Απαντήσεις 5 11-07-11 20:06
Υπολογιζόμενο πεδίο σε ερώτημα Χρήστος Access - Ερωτήσεις / Απαντήσεις 3 08-05-11 19:19
[ Πίνακες ] Αθροισμα σε πεδίο χωρίς Ερώτημα Free_Ghost Access - Ερωτήσεις / Απαντήσεις 4 21-02-10 10:24


Η ώρα είναι 17:33.