Access - Ερωτήσεις / Απαντήσεις Access + VBA... Εδώ δεν υπάρχουν όρια! |
![]() |
| Εργαλεία Θεμάτων | Τρόποι εμφάνισης |
#1
| |||
| |||
![]()
Καλησπέρα στους φίλους του φόρουμ Το πρόβλημα που αντιμετωπίζω ειναι πραγματικά μια σπαζοκεφαλιά που εύχομαι κάποιος φίλος να δώσει την λύση. Μέσα σε ενα VBA Module εχω αρκετές εξισωσεις καποιες απλές και κάποιες καπως πιο πολύπλοκες. Συγκεκριμένα εχω την εξίσωση Χ= 495 / (1.29579 - 0.35004 * (Log(87 + 97 - 32)) + 0.221 * (Log(167))) - 450 και το κουφό ειναι ότι δίδει λανθασμένο αποτελεσμα (εντελώς αλλού..!!) οταν το δωσω ως string σε καποιο πεδίο μιας φόρμας, και το ακόμη πιο κουφό ειναι ότι εάν παρω ως έχει την πιο πανω εξίσωση σε ένα φύλο Excell διδει το ορθό..(!!) Και λέω το "ορθό" αφού γνωρίζω ακριβως το αποτέλεσμα που πρεπει να προκύψει μεσω ενος αλλου αρχείου Excell. Υπόψη οτι: 1. Εχω ελέξει το πεδίο ενημέρωσης στην φόρμα και ειναι αριθμητικο (Double , Standard ,2) 2. Εκανα διαφορες δοκιμες σε σημείο οπου εχω δημιουργήσει σε πινακα υπολογιζομενο πεδιο με ιδια εξίωση, ιδιου τυπου πεδιο (Double , Standard ,2) και δινει εντελως διαφορετικο αποτελεσμα απο αυτο στην VBA Δεν ξερω τι άλλο μπορει να ελέξω αλλά το μόνο που πιστευω (και το εχω ωρες στο μυαλό μου) ισως να εχει καποιο θέμα το πακέτο Office που έχω...(? - 2019 ProPlus 32bit) Την γνωμη σας ... |
#2
| |||
| |||
![]()
Καλησπέρα Γιώργο, Το αποτέλεσμα που δίνει στο excel είναι 33,7396 =495/(1,29579-0,35004*(LOG(87 + 97 - 32)) + 0,221*(LOG(167)))- 450 Ενώ στην Access to αποτέλεσμα είναι 292,677014= 495 / (1.29579 - 0.35004 * (Log(87 + 97 - 32)) + 0.221 * (Log(167))) – 450 Ποιο είναι το σωστό? Η παραπάνω διαφορά υποθέτω έχει να κάνει με την προτεραιότητα των πράξεων και στον διαφορετίκο υπολογισμό της συνάρτησης Log. |
#3
| |||
| |||
![]() Παράθεση:
|
#4
| |||
| |||
![]()
Καλησπέρα 1) Η συνάρτηση Log(x) στην VBA και στην access μας δίνει τον λογάριθμο του x, με βάση το e (έχει άπειρα ψηφία, ισούται με Exp(1), περίπου 2.728282) 2) Η συνάρτηση Log(x) στο excel μας δίνει το λογάριθμο του x, με βάση το 10. 3) Το excel διαθέτει τη συνάρτηση Ln(x), που δίνει τον λογάριθμο του x, με βάση το e. Δηλαδή η συνάρτηση του excel που ταυτίζεται με τη συνάρτηση Log() της VBA και της access δεν είναι η Log(), αλλά η Ln(). 4) Για να πάρουμε, στην access και τη VBA το λογάριθμο του x με βάση το 10, χρησιμοποιούμε τον τύπο Log(x)/log(10). |
#5
| |||
| |||
![]() Παράθεση:
x= 495 / (1.29579 - 0.35004 * (Log(87 + 97 - 32) / Log(10)) + 0.221 * (Log(167) / Log(10))) - 450 και όντως λαμβάνω ορθό αποτελεσμα το 33.73.! Ομως, το πρόβλημα τωρα ειναι οτι εαν στην θέση των αριθμών 87 + 97 - 32 βάλω τα πεδία που εχουν μεσα αυτες τις τιμές, λαμβανω ενετλως λαθος αποτελεσμα παλι, Δηλαδη x = 495 / (1.29579 - 0.35004 * (Log(Wst + Hps - Nec) / Log(10)) + 0.221 * (Log(167) / Log(10))) - 450 which Wst string απο πεδίο [Waist]=87 Hps string απο πεδίο [Hips]=97 and Nec stringαπο πεδίο [Neck]=32 Λαμβανω αποτελεσμα 766,546632982.. Καμια ιδεα? |
#6
| |||
| |||
![]()
Σπάστο ώστε να κάνεις τους υπολογισμούς κομματι κομματι και θα βρεις λογικά το λάθος
|
#7
| |||
| |||
![]()
ανεξαρτητα που δεν γνωριζω σε τι χρησιμευει ο τυπος δες και αυτη την λυση αν σε κανει
|
#8
| |||
| |||
![]() Παράθεση:
Σε καθε περίπτωση ευχαριστω για το ενδιαφέρον |
![]() |
« Προηγούμενο Θέμα
|
Επόμενο Θέμα »
Εργαλεία Θεμάτων | |
Τρόποι εμφάνισης | |
| |
| ||||
Θέμα | Δημιουργός | Forum | Απαντήσεις | Τελευταίο Μήνυμα |
[Συναρτήσεις] Αποτέλεσμα σε κελί | Gogosbmx | Excel - Ερωτήσεις / Απαντήσεις | 2 | 07-04-22 23:38 |
[ Φόρμες ] αρνητικο αποτέλεσμα | xristos0718 | Access - Ερωτήσεις / Απαντήσεις | 3 | 26-06-21 00:21 |
[Συναρτήσεις] κριτηρια και αποτελεσμα | GreekPowers | Excel - Ερωτήσεις / Απαντήσεις | 0 | 16-04-19 13:01 |
[Γράφημα] Γιατί δημιουργείται λανθασμένο γράφημα; | Skakinen | Excel - Ερωτήσεις / Απαντήσεις | 10 | 07-01-14 14:39 |
[Συναρτήσεις] IF δεν εξαφανίζει το αποτέλεσμα. | anestaki | Excel - Ερωτήσεις / Απαντήσεις | 6 | 16-09-12 15:48 |
Η ώρα είναι 22:16.