ms-office.gr > Forum > Microsoft Access > Access - Ερωτήσεις / Απαντήσεις > [ Φόρμες ] προβλημα με αρθοισμα

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

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

 

Εργαλεία Θεμάτων Τρόποι εμφάνισης
  #1  
Παλιά 10-07-17, 22:07
Το avatar του χρήστη johnioa
Όνομα: Γιαννης
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 06-06-2011
Περιοχή: Thessaloniki
Μηνύματα: 9
Προεπιλογή προβλημα με αρθοισμα

καλησπέρα στο φορουμ εχω ενα θεμα που με απασχολει εδω και πολυ καιρο εχω φτιαξει μια βαση οπου καταχωρω τιμες απο τιμολογια για να δημιουργησω ενα δελτιο εισαγωγης αλλα περνοτας τις τιμες και κανοντας τις πραξεις ποτε δεν συμβαδιζουν με τις τιμες του τιμολογιου σχεδον παντα εχω αποκληση στο δευτερο δεκαδικο .... τι ρυθμισεις πρεπει να βαλω στα πεδια μου ωστε να κανει τις πραξεις οπως ενα κομπιουτερακι?
Απάντηση με παράθεση
  #2  
Παλιά 11-07-17, 10:26
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 18-06-2010
Μηνύματα: 3.737
Προεπιλογή

Καλημέρα

Γιάννη θα σου πρότειναα να στρογγυλεύεις τα αποτελέσματα στο πλησιέστερο εκατοστό (λεπτό).

Για το σκοπό αυτό χρησιμοποίησε τη συνάρτηση Round().

Για παράδειγμα, αν το πεδίο [ΤΙΜΗ] έχει την τιμή ενός προϊόντος και το [ΦΠΑ] τον συντελεστή ΦΠΑ, για να βρούμε το αντίστοιχο ΦΠΑ, θα χρησιμοποιήσουμε τον τύπο:

Round ([ΤΙΜΗ]*[ΦΠΑ];2)
Απάντηση με παράθεση
  #3  
Παλιά 12-07-17, 16:44
Το avatar του χρήστη johnioa
Όνομα: Γιαννης
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 06-06-2011
Περιοχή: Thessaloniki
Μηνύματα: 9
Προεπιλογή

καλησπέρα γιώργο σε ευχαριστω παρα πολύ για την αμεση ανταποκριση στο ερώτημα μου αλλα φίλε μου το εχω δοκιμάσει αυτο με την round αλλα δεν εχω το επιθυμητό αποτέλεσμα .... σε ευχαριστώ παντως για το ενδιαφέρον σου.... έχεις να προτίνεις κάτι άλλο?



παραθέτω μία είκονα απο το ερωτημα "ΠΑΡΑΛΑΒΗ" το γινομανο 5*2,753=13,765 οταν κανω την πραξη στην αριθμομηχανη
οταν το κανω σε πεδιο υπολογισμου "katharitimi" μου δεινει γινομενο 5*2,753=13.76 το πεδιο υπολογισμού μου ειναι "=round(([ΠΟΣΟΤΗΤΑ ΠΑΡΑΛΑΒΗΣ]*[timimonados]);2) δεν θα επρεπε να μου κανει την στρογγυλοποίηση και να μου δωσει γινομενο 13,77.... τι λάθος κάνω?...

Τελευταία επεξεργασία από το χρήστη johnioa : 13-07-17 στις 16:09.
Απάντηση με παράθεση
  #4  
Παλιά 13-07-17, 18:07
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 18-06-2010
Μηνύματα: 3.737
Προεπιλογή

Έχεις δίκιο, στη συγκεκριμένη περίπτωση, η συμπεριφορά της Round() δεν είναι σωστή.

Αν θέλεις δοκίμασε το ίδιο στο Excel. Νομίζω δίνει σωστό αποτέλεσμα.

Τελικά αντί της Round() δοκίμασε τον τύπο:=CInt(100*[ΠΟΣΟΤΗΤΑ ΠΑΡΑΛΑΒΗΣ]*[timimonados])/100, που επίσης στρογγυλεύει το αποτέλεσμα στο πλησιέστερο εκατοστό.
Απάντηση με παράθεση
  #5  
Παλιά 13-07-17, 18:55
Το avatar του χρήστη johnioa
Όνομα: Γιαννης
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 06-06-2011
Περιοχή: Thessaloniki
Μηνύματα: 9
Προεπιλογή

γιώργο το ίδιο αποτελεσμα μου δεινει ακριβως το ίδιο αποτελεσμα με την round ... επίσης να πω οτι στο πίνακα που υπαρχουν τα πεδια "timimonados" εχει ιδιοτητες Μεγεθος πεδίου=δεκαδικός , Μορφή=Ευρώ, Ακρίβεια=4, κλιμακα=3, δεκαδικές θέσεις=3 . Το πεδίου "ΠΟΣΟΤΗΤΑ ΠΑΡΑΛΑΒΗΣ" Μέγεθος πεδιου=δεκαδικός, μορφη=βασική, ακριβεια=18 , κλίμακα=2 και δεκαδικές θέσεις=2..... μήπως κανω εκει κάποιο λάθος? με βασανιζει πανω απο μηνα αυτο

Τελευταία επεξεργασία από το χρήστη johnioa : 13-07-17 στις 20:29.
Απάντηση με παράθεση
  #6  
Παλιά 13-07-17, 21:55
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 18-06-2010
Μηνύματα: 3.737
Προεπιλογή

Γιάννη, δεν μπορώ να σκεφτώ κάτι άλλο.
Απάντηση με παράθεση
  #7  
Παλιά 13-07-17, 22:08
Το avatar του χρήστη Meteora
Συντονιστής
Όνομα: Νίκος
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 28-12-2008
Περιοχή: Θεσσαλονίκη
Μηνύματα: 1.085
Προεπιλογή

Καλησπέρα.
Η Round() έχει μια περίεργη λογική στην στρογγυλοποίηση για αριθμούς που τελειώνουν σε 5. Έτσι την ξεγελάμε προσθέτοντας κάτι μηδαμινό για να έχουμε στρογγυλοποίηση προς τα πάνω. Αυτό το μηδαμινό δεν πρέπει να σχετίζεται με την ακρίβεια που θέλουμε...
Κάνε δοκιμές κάπως έτσι : ROUND(5*2.753+0.000000001,2)

Αυτά φίλε μας / Νίκος
Απάντηση με παράθεση
  #8  
Παλιά 13-07-17, 22:48
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 18-06-2010
Μηνύματα: 3.737
Προεπιλογή

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

Για παράδειγμα: round(13,344999999999;2) = 13,34.

Ενώ round(13,344999999999 + 0,000000001;2)=13,35
Απάντηση με παράθεση
  #9  
Παλιά 13-07-17, 22:55
Το avatar του χρήστη Meteora
Συντονιστής
Όνομα: Νίκος
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 28-12-2008
Περιοχή: Θεσσαλονίκη
Μηνύματα: 1.085
Προεπιλογή

χμ!
Δεν νομίζω ότι η περίπτωση που συζητάμε μας εμπλέκει με αριθμούς με 7-8 δεκαδικά... Εξάλλου έγραψα ότι η τεχνική που προτείνω έχει να κάνει με την ακρίβεια.

Να είσαι καλά φίλε μου Γιώργο. Νίκος
Απάντηση με παράθεση
  #10  
Παλιά 13-07-17, 23:09
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 18-06-2010
Μηνύματα: 3.737
Προεπιλογή

Φίλε Νίκο να είσαι επίσης καλά.

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

Η προσθήκη αυτή θα μας δώσει λάθος στην ακόλουθη επίσης οριακή περίπτωση.

Αν ποσότητα μετά το δεύτερο δεκαδικό είναι μικρότερη αλλά πολύ κοντά στην τιμή 0,005 η μικρή προσαύξηση θα την κάνει >=0,005 και έτσι η Round θα επιστρέψει λάθος τιμή.
Απάντηση με παράθεση
Απάντηση στο θέμα


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

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


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

Θέμα Δημιουργός Forum Απαντήσεις Τελευταίο Μήνυμα
[Γενικά] Πρόβλημα εισαγωγής δεδομένων σε κελιά του Excel και πρόβλημα με συνάρτηση ΣΟΦΙΑΖΩΤΟΥ Excel - Ερωτήσεις / Απαντήσεις 0 02-12-13 13:14


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