Forum

Forum (https://www.ms-office.gr/forum/)
-   Access - Ερωτήσεις / Απαντήσεις (https://www.ms-office.gr/forum/access-erotiseis-apantiseis/)
-   -   Μη εμφάνιση αποτελέσματος τύπων σε πίνακες (https://www.ms-office.gr/forum/access-erotiseis-apantiseis/583-mi-emfanisi-apotelesmatos-tipon-se-pinakes.html)

Tasos 17-05-10 10:20

Καλημέρα σε όλους!

Μάρω, δεν είναι απαραίτητο να χρησιμοποιείς το συμβάν Current() προκειμένου να
υπολογιστούν και να περαστούν οι τιμές σου στον πίνακα.

Για ποιο λόγο να γίνεται υπολογισμός κάθε φορά που επιλέγεται μια εγγραφή;

Απεναντίας, με το AfterUpdate(), θα υπολογιστούν οι τιμές σου μόνο όταν προκύψει κάποια
ενημέρωση από το χρήστη στα πεδία Τεμάχια και Τιμή (στην πράξη μια και μοναδική φορά).

'Έτσι λοιπόν θα σου πρότεινα στο AfterUpdate() των 2 αυτών πεδίων να χρησιμοποιήσεις:

Κώδικας:

Private Sub Τεμαχια_AfterUpdate()
      If Not IsNull(Me.Τεμαχια) And Not IsNull(Me.Τιμη) Then Me.Ποσο = Me.Τεμαχια * Me.Τιμη
Εnd Sub
 
Private Sub Τιμη_AfterUpdate()
      If Not IsNull(Me.Τεμαχια) And Not IsNull(Me.Τιμη) Then Me.Ποσο = Me.Τεμαχια * Me.Τιμη
End Sub

Φιλικά

Τάσος

mdragon 17-05-10 12:43

Ευχαριστώ Τάσο μου, δουλεύει μια χαρά.
Να ΄στε καλά και εσείς παιδιά για το χρόνο σας



Ευχαριστώ,

Μάρω

mdragon 20-05-10 20:56

Παράθεση:

Αρχική Δημοσίευση από mdragon (Μήνυμα 2654)
Καλησπέρα σε όλους,
έχω μία φόρμα στην οποία τα πεδία μου είναι τα εξής
Τεμάχια - Τιμή - Ποσό
Στο πεδίο Ποσό υπάρχει ο τύπος =[Τεμάχια]*[Τιμή]
Στη φόρμα μου το αποτέλεσμα εμφανίζεται κανονικά
Στον πίνακα όμως δεν έρχεται το αποτέλεσμα
Το πρόβλημά μου είναι ότι όταν στη φόρμα ζητάω το Άθροισμα του Ποσού το αποτέλεσμα που έρχεται είναι 0
Τι να κάνω?

Ευχαριστώ,
Μάρω

Να το κουράσω λίγο παραπάνω???
Τί γίνεται αν το αποτέλεσμα που επιθυμώ θέλω να είναι στρογγυλοποιημένο???

Ευχαριστώ
Μάρω

Tasos 21-05-10 11:03

Καλημέρα σε όλους!

Μάρω, τι είδους στρογγυλοποίηση είναι αυτή που ζητάς;
Αν ζητάς αυτή της Excel τότε
  • Πάτησε ALT+F11 για να εμφανιστεί ο VBE.
  • Δημιούργησε μια νέα λειτουργική μονάδα (Menu: Insert > Module) ή χρησιμοποιοίησε τυχόν υπάρχουσα.
  • Πρόσθεσε (τσέκαρε) την αναφορά: Microsoft Excel XX.0 Object Library (Menu: Tools>References)
    όπου XX.0 = η έκδοση Excel που υπάρχει στον υπολογιστή.
Κατόπιν πέρασε τον παρακάτω κώδικα:

Κώδικας:

Private Sub Τεμαχια_AfterUpdate()
  If Not IsNull(Me.Τεμαχια) And Not IsNull(Me.Τιμη) Then Me.Ποσο = Excel.WorksheetFunction.RoundUp(Me.Τεμαχια * Me.Τιμη, 2)
End Sub

Κώδικας:

Private Sub Τιμη_AfterUpdate()
  If Not IsNull(Me.Τεμαχια) And Not IsNull(Me.Τιμη) Then Me.Ποσο = Excel.WorksheetFunction.RoundUp(Me.Τεμαχια * Me.Τιμη, 2)
End Sub

Διαφορετικά χρησιμοποιείς την Round() της VBA.

Κώδικας:

.... If Not IsNull(Me.Τεμαχια) And Not IsNull(Me.Τιμη) Then Me.Ποσο = Round(Me.Τεμαχια * Me.Τιμη, 2)
Καλή συνέχεια!

Τάσος

mdragon 23-05-10 16:36

Να ΄σαι καλά βρε Τάσο μου,
Δεν μπορείς να φανταστείς πόσα μου έχεις διδάξει


Σε ευχαριστώ,

Μάρω

nisgia 26-05-10 14:56

Μάρω, καλησπέρα και από έμενα!

Συγγνώμη που επεμβαίνω, αλλά, η αποθήκευση μια υπολογισμένης τιμής
δεν είναι και καλή πρακτική.

Αν επιτρέπεται, γιατί προχωρείς σε κάτι τέτοιο
αφού έχεις την τιμή μονάδος και την ποσότητα ήδη διαθέσιμες;:unsure:

Φιλικά, Γιάννης.

mdragon 26-05-10 15:41

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



Μάρω

nisgia 26-05-10 20:22

1 Συνημμένο(α)
Μάρω, είναι εύκολο για μια έκθεση να κάνει κάποιους βασικούς υπολογισμούς.

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

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

Γενικά είναι λίγο επισφαλείς αυτή η μέθοδο.

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

Φιλικά, Γιάννης.

mdragon 27-05-10 21:41

Αγαπητέ Γιάννη,
σε ευχαριστώ για τον κόπο σου.
Το γνωρίζω ήδη αυτό. Αν πρόσεξες παραπάνω ο Τάσος μου έδωσε λύση μέσω κώδικα.
Και οι δύο τρόποι έχουν και τα θετικά και τα αρνητικά τους.


Να ΄σαι καλά,
Μάρω

editolis 28-05-10 00:46

1 Συνημμένο(α)
Μαρια Δες το παραδειγμα σου διορθωμενο και ενημερωσε εαν σου κανει...

Επισης να πω για αλλη μια φορα το ποσο σημαντικο ειναι να χρησιμοποιουμε greklish
στην ACCESS. Εαν δεν το κανετε καποια στιγμη θα σπατε το κεφαλι σας να βρειτε γιατι
ενα ερωτημα πχ δεν "τρεχει" διοτι μπορει να λειπει ενας τονος απο καποια ονομασια ενος πινακα...κλπ...


Η ώρα είναι 14:34.

Ms-Office.gr - ©2000 - 2026, Jelsoft Enterprises Ltd.


Search Engine Optimization by vBSEO 3.3.2