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

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

Κλειστό Θέμα

 

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

Αγαπητοί φίλοι καλησπέρα, Χρόνια Πολλά και Καλή Χρονιά,

Εύχομαι η νέα χρονιά να μας χαρίσει τουλάχιστον υγεία πάνω απο όλα, χαρά και οικογενειακή και επαγγελματική ευημερία..

Ζητάω την βοήθεια των έμπειρων μελών του φόρουμ στο εξής θέμα.

Σε ένα ερώτημα έχω γράψει την συνάρτηση KcalTotal: Sum([TotalCalories]/1) και θέλω όταν δεν έχει τιμή να επιστρέφει την τιμή μηδέν (0). Έχω προσπαθήσει διαφορα μεταξύ των άλλων και το KcalTotal: Sum nz([TotalCalories]/1;0) αλλα δεν δουλεύει.

Το θέμα είναι ότι στην εν λόγο φόρμα που "τρέχει" το ερώτημα υπάρχουν άλλα επτά όμοια (απλά φιλτράρουν διφορετικά δεδομένα) και ο σκοπός είναι εφόσον μαζέψω τα αθροίσματα απο τα ερωτήματα στο τέλος να βγάλω ένα τελικό αποτέλεσμα αθροίζωντας τα φυσικά μεταξύ των αποτελεσμάτων που δίνει το κάθε ένα. Παρολα αυτά, όταν σε οποιοδήποτε απο τα ερωτήματα δεν υπάρχουν αποτελέσματα (διοτι απλά δεν υπάρχουν σχετικές καταχωρήσεις δεδομένων που να προκύπτουν) λαμβάνω τιμή "error" και όπως ειναι φυσικό "σπάει" η συνάρτηση που έχω (πχ. [txt1]+[txt2]+[txt3]+[txt4]+[txt5]+[txt6]+[txt7]) και έτσι δεν μπορώ να έχω τελικά αποτελέσματα...

Παρακαλώ την βοήθεια σας η οποια όπως είναι φυσικό θα υπερ-εκτιμηθεί όπως πάντα..!!

Χρόνια Πολλά
  #2  
Παλιά 08-01-15, 19:13
Το avatar του χρήστη Meteora
Συντονιστής
Όνομα: Νίκος
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 28-12-2008
Περιοχή: Θεσσαλονίκη
Μηνύματα: 1.033
Προεπιλογή

Καλησπέρα Γιώργο, καλή χρονιά...

Γράψε κάπως έτσι: nz([txt1])+nz([txt2])+...+nz([txt7])

Με εκτίμηση
Νίκος

Υστερολόγιο: Εκεί που βάζεις τη συνάρτηση nz() είναι άχρηστο...
  #3  
Παλιά 08-01-15, 19:35
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2007, Ms-Office 2013
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 02-04-2013
Περιοχή: Κύπρος
Μηνύματα: 738
Προεπιλογή

Καλησπέρα Νίκο και Καλή Χρονιά,

Σε ευχαριστώ φιλε μου αλλά έχω δοκιμάσει και αυτό (τουλάχιστον έτσι νομιζω) καθώς έγραψα το ακόλουθο¨

=nz([subfrmMeal1].[Form]![KcalTotal];0)+nz([subfrmMeal2].[Form]![KcalTotal];0)+nz([subfrmMeal3].[Form]![KcalTotal];0)+nz([subfrmMeal4].[Form]![KcalTotal];0)+nz([subfrmMeal5].[Form]![KcalTotal];0)+nz([subfrmMeal6].[Form]![KcalTotal];0)+nz([subfrmMeal7].[Form]![KcalTotal];0)

Δυστυχώς τα ίδια....
  #4  
Παλιά 08-01-15, 20:05
Το avatar του χρήστη Meteora
Συντονιστής
Όνομα: Νίκος
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 28-12-2008
Περιοχή: Θεσσαλονίκη
Μηνύματα: 1.033
Προεπιλογή

Γιώργο,
με την εντολή
Κώδικας:
Forms!Frm_master!FrmSub_ena!name_pediou
διαβάζω το περιεχόμενο του name_pediou, το οποίο βρίσκεται στην υποφόρμα FrmSub_ena της κύριας φόρμας Frm_master.
Αν κατάλαβα καλά εσύ δεν μπορείς να διαβάσεις ούτε το
Κώδικας:
nz([subfrmMeal1].[Form]![KcalTotal];0)
Αν αυτό συμβαίνει δεν έχεις σωστή σύνταξη.
Κάνω εσφαλμένη εκτίμηση;

Νίκος...
  #5  
Παλιά 08-01-15, 20:20
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2007, Ms-Office 2013
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 02-04-2013
Περιοχή: Κύπρος
Μηνύματα: 738
Προεπιλογή

Νίκο μπορεί να μήν έχω και ορθή σύνταξη της συνάρτησης αλλά προσωπικά πιστεύω πως αυτό οφείλεται όταν κάποιο απο τα ερωτήματα δεν έχει τιμές και μου δίνει error. Επισυνάπτω μια φώτο έτσι ώστε να έχεις μια εικόνα (περίπου).

Σχετικά με την σύνταξη της συνάρτησης θα εκτιμούσα εάν μπορούσε κάποιος να βοηθήσει...
Συνημμένα Αρχεία
Τύπος Αρχείου: zip Untitled.zip (22,2 KB, 8 εμφανίσεις)
  #6  
Παλιά 09-01-15, 09:18
Το avatar του χρήστη Meteora
Συντονιστής
Όνομα: Νίκος
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 28-12-2008
Περιοχή: Θεσσαλονίκη
Μηνύματα: 1.033
Προεπιλογή

Καλημέρα
Ό,τι βλέπουμε είναι εικόνα φόρμας ή έκθεσης; Τα περιεχόμενα των στηλών Επιλογή 1, Επιλογή 2, Επιλογή 3, κοκ προέρχονται από κάποιο ερώτημα; Το ερώτημα από πού παίρνει δεδομένα και με τι κριτήριο-συνθήκη ζητάς να γίνει η όποια παρουσίαση;
Όταν τρέχεις το ερώτημα τι δίνει;
Τι είναι -για παράδειγμα- τα μέλη της έκφρασης [subfrmMeal5].[Form]![KcalTotal]
Γιώργο, ψαχνόμαστε πάλι...

με εκτίμηση / Νίκος
  #7  
Παλιά 09-01-15, 11:02
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2007, Ms-Office 2013
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 02-04-2013
Περιοχή: Κύπρος
Μηνύματα: 738
Προεπιλογή

Καλημέρα Νίκο και σε όλους τους φίλους του φόρουμ,

Η σχετικη εικονα ειναι φυσικα απο φορμα Νικο μου και πιο συγκεκριμενα εινα ενα κομματι της υποφορμας που σχετιζεται το προβλημα. Διευκρινιζω επισης τα εξης:

1. Εαν καποιος θα μπορουσε να δει το συγκεκριμμενο κομματι της υποφορμας που επισυναπτω σε προβολή σχεδίασης, θα εβλεπε κριμμενες και τις σχετικές υποφόρμες που αναφέρονται στην συνάρτηση. Δηλαδή, πίσω από την επιλογή πχ Επιλογή 1, 2,...7 υπάρχουν κρυμένες οι συγκεκριμένες υποφόρμες οι οποίες κάθε μια παίρνει αποτελέσματα και από ένα σχετικό ερώτημα, αποτελέσματα που στην συνέχεια εξάγωνται έξω στα πεδία κάθε επιλογής 1,2,3..7.

2. Επειδη εκ των πραγματων δεν διναται να εχουν παντα αποτελεσματα ολες οι επιλογες (1....7) ως εκ τουτου λαμβανω το error στην επιλογη που δεν υπαρχουν δεδομενα. Εδω ομως ειναι και το προβλημα μου εφοσον εγω θελω να αθροιζω τα αποτελεσματα των επιλογων ετσι ωστε να προκυπτουν συνολικα αποτελεσματα που ειναι απαραιτητα για τον χρηστη.

Βασικα εν κατακλιδι, το ζητημα εινα να βρεθει καποιος τροπος ετσι ωστε αφενως οταν καποιο ερωτημα (επιλογη πχ3) δεν εχει κατχωρησεις αρα στην φορμα μου επιστρεφει τιμη error, να μπορω μεσω της συναρτησης να δινω τιμη μηδεν ετσι ωστε να μπορει εν συνεχεια να αθροιζει τα αποτελεσματα .

Υ.Γ: Νικο ειναι στην βαση μου ειναι αρκετα πολυπλοκη διαδικασια που ακολουθειται εως οτου φτασουμε στο κομματι που ανεβασα και αρκετα ακομη πιο δυσκολο να μπορεσω να ανεβασω ετσω το συγκεκριμενο κομματι του προγραμματος που σχετιζεται με το προβλημα. Και να το επιχειρησω πρεπει να ανεβασω σχεδον ολη την βαση και....αντε καποιος ο οποιος δεν σχετιζεται με το αντικειμενο να μπορεσει να βρει ακρη, εστω και αν τελικα βρω την λυση και συμπιεσω την βαση τοσο οσο να μπορεσω να την ανεβασω (65MB)...
  #8  
Παλιά 09-01-15, 16:52
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 18-06-2010
Μηνύματα: 3.674
Προεπιλογή

Γιώργο, για το άθροισμα, δοκίμασε και ένα τύπο με την παρακάτω μορφή:

=IIf(IsError([txt1]);0;[txt1])+IIf(IsError([txt2]);0;[txt2])+IIf(IsError([txt3]);0;[txt3]) + ......
  #9  
Παλιά 09-01-15, 20:59
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2007, Ms-Office 2013
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 02-04-2013
Περιοχή: Κύπρος
Μηνύματα: 738
Προεπιλογή

Γιώργο καλησπέρα,

Πρώτα σου εύχομαι Χρόνια Πολλά και Καλή Χρονιά και πάντα υγεία και επιτυχίες σε οτι κάνεις φίλε μου.!!

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

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

Για παράδειγμα:
Στην Επιλογή 1 στο πεδίο [Kcal] έγραψα την συναρτηση =nz([subfrmMeal1].[Form]![KcalTotal];0) εφόσον το Control Source να παίρνει δεδομένα απο την συγκεκριμένη κρυμμένη φόρμα που δίνει τα αποτελεσματα απο το Ερώτημα 1 για παράδειγμα αλλά δυστυχώς λαμβάνω το error εφόσον δεν υπάρχει καμιά καταχώρηση που να ισχύουν τα κριτήρια του εν λόγο ερωτήματος. Και για να γίνω πιο κατανοητός όταν αναφέρομαι στα ερωτήματα αυτά και στις κρυμμένες φόρμες εξηγώ:

Α. Φανταστείτε ότι υπάρχουν 7 επιλογές διαφορετικών γευμάτων (πρωινό , μεσημεριανό , δείπνο κλπ) και κάθε είδος γεύματος έχει επίσης 7 επιλογές απο ομάδες φαγητών (πχ Επιλογή 1 : Δημητριακά με γάλα κλπ , Επιλογή 2: Ψωμί με μαρμελάδα κλπ).

Β. Καθε ένα απο τα ερωτήματα αυτά "φιλτραρει" το είδος γεύματος (πχ Πρωινό) και την συγκεκριμένη επιλογή που είναι επιλεγμένη απο την subform (πχ Επιλογή 2)

Γ. Ανάλογα λοιπόν με τα φαγητά που έχει κάθε επιλογή παρουσιάζεται μεσω των ερωτημάτων που "τρέχουν στις 7 κρυμμένες φόρμες, αναλυτικά η διατροφική ανάλυση του κάθε φαγητού ξεχωριστά (πχ Θερμίδες [Kcal] , Υδατάνθακες [Carbs] κλπ).

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

Μήπως υπάρχει κάποιος τρόπος ετσι ώστε να μπορεί να επιστρέφει μηδενική τιμή κάθε ερήτημα το οποίο δεν έχει καμία καταχώρηση?

Υ.Γ: Όπως είπα και πρίν, τώρα με την βοήθεια της συνάρτησης που μου έδωσες μπορύν να συναθροιζονται τα τελικά αποτελέσματα απλά είναι το θέμα με τα error στις περιπτώσεις των κενών καταχωρήσεων που βρίσκουν τα ερωτήματα.

Σε ευχαριστώ και πάλι φίλε μου και ο θεός να σε έχει πάντα καλά..!!

(επισυνάπτω μια σχετική φωτογραφία μετά και την εφαρμογή της λύσης που μου έστειλες Γιώργο)
Συνημμένα Αρχεία
Τύπος Αρχείου: zip new.zip (12,8 KB, 13 εμφανίσεις)
  #10  
Παλιά 10-01-15, 00:18
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 18-06-2010
Μηνύματα: 3.674
Προεπιλογή

Καλησπέρα

Ευχαριστώ για τις ευχές.

Σου εύχομαι καλή χρονιά με υγεία.

Θα πρότεινα να χρησιμοποιήσεις μορφοποίηση υπό όρους για να κρύψεις τη λέξη Error:

1) Στη σχεδίαση επιλέγεις το πεδίο (πχ txt1).

2) Στην καρτέλα Μορφή κλικ στο κουμπί [Μορφοποίηση υπό όρους].

3)Κλικ στο κουμπί δημιουργία κανόνα.

4) Επιλογή [η έκφραση είναι] και πληκτρολόγηση: IsError([txt1])

5) Κλικ στο κουμπί [Χρώμα γραμματοσειράς] και επιλογή ως χρώμα το χρώμα φόντου του πεδίου txt1.

Φιλικά/Γιώργος
Κλειστό Θέμα

Εργαλεία Θεμάτων
Τρόποι εμφάνισης

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

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


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

Θέμα Δημιουργός Forum Απαντήσεις Τελευταίο Μήνυμα
[Συναρτήσεις] Θέλω να αφήσω εκτός υπολογισμού Σαββατοκύριακα και επίσημες αργίες dikatsu Excel - Ερωτήσεις / Απαντήσεις 4 04-07-16 20:02
[Συναρτήσεις] Συνάρτηση μέση τιμή αγοράς chiefsotos Excel - Ερωτήσεις / Απαντήσεις 7 02-04-14 16:23
[ Ερωτήματα ] Όπου το πεδίο είναι κενό να παίρνει την τιμή 0 (μηδέν) mousatos Access - Ερωτήσεις / Απαντήσεις 3 01-01-14 18:29
[Γενικά] Πρόβλημα εισαγωγής δεδομένων σε κελιά του Excel και πρόβλημα με συνάρτηση ΣΟΦΙΑΖΩΤΟΥ Excel - Ερωτήσεις / Απαντήσεις 0 02-12-13 14:14
[Συναρτήσεις] ΠΡΟΒΛΗΜΑ ΜΕ #ΤΙΜΗ! ΑντωνηςΠαπαδοπουλος Excel - Ερωτήσεις / Απαντήσεις 2 24-05-13 12:00


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