![]() |
Μη εμφάνιση αποτελέσματος τύπων σε πίνακες Καλησπέρα σε όλους, έχω μία φόρμα στην οποία τα πεδία μου είναι τα εξής Τεμάχια - Τιμή - Ποσό Στο πεδίο Ποσό υπάρχει ο τύπος =[Τεμάχια]*[Τιμή] Στη φόρμα μου το αποτέλεσμα εμφανίζεται κανονικά Στον πίνακα όμως δεν έρχεται το αποτέλεσμα Το πρόβλημά μου είναι ότι όταν στη φόρμα ζητάω το Άθροισμα του Ποσού το αποτέλεσμα που έρχεται είναι 0 Τι να κάνω? Ευχαριστώ, Μάρω |
Αγαπητη Φιλη Μαρω, Το προβλημα σου νομιζω οτι εχει ευκολη λυση. Υποθετω οτι το recordsource της φορμα σου ειναι ο πινακας σου και οχι καποιο πολυπλοκο ερωτημα. Σε αυτην την περιπτωση η παρακατω φορμουλα ισως σου ειναι αρκετη για την λυση. Στο OnCurrent της φορμας βαλε τον τυπο: txtPoso.value = me.[txtTemaxia] * me.[txtTimi] Τωρα θα αποθηκευεται η τιμη στο πινακα... Καλη συνεχεια |
Ευχαριστώ Τόλη μου για την προσπάθεια αλλά μου βγάζει error Η φόρμα μου προέχεται από έναν απλό πίνακα. Φαντάζομαι ότι ο τύπος στο πεδίο θα παραμείνει ... έτσι δεν είναι??? Δεν ξέρω που κάνω λάθος Όπως και να 'χει, ευχαριστώ Μάρω |
Κανε compile και αποθηκευση της ΒΔ. Μετα συμπυκνωση και επιδιορθωση. Κλεισε την ΒΔ και ξαναπροσπαθησε... |
Ναι βρε συ αλλά δεν μου απάντησες .... στο πεδίο ποσό αφήνω τον τύπο ή λείτουργεί μόνο με τον κώδικα? |
Το ζητουμενο σου εαν καταλαβα καλα ειναι να αποθηκευεται η τιμη σε πεδιο στον πινακα. Αρα σιγουρα θα πρεπει να χρησιμοποιησεις τον κωδικα και οχι τον απλο τυπο που σου δειχνει απλα το αποτελεσμα. Εαν εχεις δυσκολιες επισυναψε ενα δειγμα της ΒΔ σου. Καλη συνεχεια... |
Παράθεση:
Ανέβασε και ένα δείγμα όπως σου είπε ο Τόλης... |
Καλημέρα σε όλους! Αγαπητή Μάρω, είναι τεχνικά αδύνατο να περαστεί κάποια τιμή σε υπολογισμένο πεδίο εκτός απ αυτήν που επιστρέφει ο τύπος που περιέχεται, είτε χειροκίνητα, είτε προγραμματιστικά όπως σου υπέδειξε ο Τόλης. Θα πρέπει να αφαιρέσεις τον τύπο αυτό από το υπολογισμένο πεδίο (που σου προκαλεί το σφάλμα στον κώδικα) και να συνδέσεις με το ανάλογο πεδίο του πίνακα. Κατόπιν, στο AfterUpdate() του πεδίου [txtTemaxia] ή/και του πεδίου [txtTimi] μπορείς να υπολογίσεις την τιμή που θέλεις να περάσεις στο [txtPoso]. Πχ.: Me.txtPoso = me.txtTemaxia * me.txtTimi Καλή συνέχεια! Τάσος |
Ένας τρόπος που είχα δοκιμάσει εγώ σε παλιό πρόγραμμά μου και δουλεύει ακόμα είναι να βάλεις στο πεδίο txtTimh και στις ιδιότητες "μετα την απώλεια της εστίασης" τον παρακάτω κώδικα: Private Sub txtTimh_LostFocus() Me.txtPoso.Value = Me.txtTemaxia.Value * Me.txtTimh.Value End Sub Δουλεύει 100% Ελπίζω να βοήθησα... Φιλικά Σπύρος |
1 Συνημμένο(α) Καλημέρα σε όλους, επισυννάπτω ένα αρχείο γιατι τελικά δεν κατάφερα να το διορθώσω. έχω βάλει στο on current της φόρμας τον εξής τύπο txtΠοσο.value = me.[txtΤεμαχια] * me.[txtΤιμη] όπως μου είπατε αλλά πάλι τίποτα. Σας ευχαριστώ, Μάρω |
Καλημέρα σε όλους! Μάρω, δεν είναι απαραίτητο να χρησιμοποιείς το συμβάν Current() προκειμένου να υπολογιστούν και να περαστούν οι τιμές σου στον πίνακα. Για ποιο λόγο να γίνεται υπολογισμός κάθε φορά που επιλέγεται μια εγγραφή; Απεναντίας, με το AfterUpdate(), θα υπολογιστούν οι τιμές σου μόνο όταν προκύψει κάποια ενημέρωση από το χρήστη στα πεδία Τεμάχια και Τιμή (στην πράξη μια και μοναδική φορά). 'Έτσι λοιπόν θα σου πρότεινα στο AfterUpdate() των 2 αυτών πεδίων να χρησιμοποιήσεις: Κώδικας: Private Sub Τεμαχια_AfterUpdate()Τάσος |
Ευχαριστώ Τάσο μου, δουλεύει μια χαρά. Να ΄στε καλά και εσείς παιδιά για το χρόνο σας Ευχαριστώ, Μάρω |
Παράθεση:
Τί γίνεται αν το αποτέλεσμα που επιθυμώ θέλω να είναι στρογγυλοποιημένο??? Ευχαριστώ Μάρω |
Καλημέρα σε όλους! Μάρω, τι είδους στρογγυλοποίηση είναι αυτή που ζητάς; Αν ζητάς αυτή της Excel τότε
Κώδικας: Private Sub Τεμαχια_AfterUpdate()Κώδικας: Private Sub Τιμη_AfterUpdate()Κώδικας: .... If Not IsNull(Me.Τεμαχια) And Not IsNull(Me.Τιμη) Then Me.Ποσο = Round(Me.Τεμαχια * Me.Τιμη, 2)Τάσος |
Να ΄σαι καλά βρε Τάσο μου, Δεν μπορείς να φανταστείς πόσα μου έχεις διδάξει Σε ευχαριστώ, Μάρω |
Μάρω, καλησπέρα και από έμενα! Συγγνώμη που επεμβαίνω, αλλά, η αποθήκευση μια υπολογισμένης τιμής δεν είναι και καλή πρακτική. Αν επιτρέπεται, γιατί προχωρείς σε κάτι τέτοιο αφού έχεις την τιμή μονάδος και την ποσότητα ήδη διαθέσιμες;:unsure: Φιλικά, Γιάννης. |
Γιάννη καλησπέρα, ο λόγος που το ζητάω αυτό, είναι γιατί δεν εμφανίζονται στις εκθέσεις διαφορέτικά. Η επόμενη λύση θα ήταν να ξαναδημιουργήσω ερωτήματα στην έκθεση αλλά αυτό θα ήταν χρονοβόρο αφού έχω πολλές εκθέσεις που αντιστοιχούν σε μία φόρμα. Μάρω |
1 Συνημμένο(α) Μάρω, είναι εύκολο για μια έκθεση να κάνει κάποιους βασικούς υπολογισμούς. Φυσικά απ' ότι μου λες, στην περίπτωσή σου θα πρέπει να εισάγεις κάποια επιπλέον χειριστήρια στις εκθέσεις και αυτό ίσως είναι επίπονο. Αν όμως ακολουθήσεις τη μέθοδο αποθήκευσης των συνόλων, θα πρέπει και να φροντίσεις με κώδικα να διασφαλίζεις τον συγχρονισμό τους με τα δεδομένα από τα οποία παράγονται. Γενικά είναι λίγο επισφαλείς αυτή η μέθοδο. Σίγουρα θα γνωρίζεις για τα υπολογιζόμενα πεδία σε εκθέσεις αλλά αν θέλεις δες ένα μικρό παράδειγμα μερικών και γενικών συνόλων στο συνημμένο. Φιλικά, Γιάννης. |
Αγαπητέ Γιάννη, σε ευχαριστώ για τον κόπο σου. Το γνωρίζω ήδη αυτό. Αν πρόσεξες παραπάνω ο Τάσος μου έδωσε λύση μέσω κώδικα. Και οι δύο τρόποι έχουν και τα θετικά και τα αρνητικά τους. Να ΄σαι καλά, Μάρω |
1 Συνημμένο(α) Μαρια Δες το παραδειγμα σου διορθωμενο και ενημερωσε εαν σου κανει... Επισης να πω για αλλη μια φορα το ποσο σημαντικο ειναι να χρησιμοποιουμε greklish στην ACCESS. Εαν δεν το κανετε καποια στιγμη θα σπατε το κεφαλι σας να βρειτε γιατι ενα ερωτημα πχ δεν "τρεχει" διοτι μπορει να λειπει ενας τονος απο καποια ονομασια ενος πινακα...κλπ... |
Τόλη μου σε ευχαριστώ, και εσύ και ο Τάσος με βοηθήσατε πολύ. Το πρόβλημα μου έχει λυθεί απλά ο Γιάννης απορεί γιατί να ζητάω αυτή τη λύση, και απλά το συζητάμε. Την καλημέρα μου, Μάρω |
| Η ώρα είναι 16:04. |
Ms-Office.gr - ©2000 - 2026, Jelsoft Enterprises Ltd.