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

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

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

 

Εργαλεία Θεμάτων Τρόποι εμφάνισης
  #1  
Παλιά 14-03-13, 11:01
Όνομα: ΔΙΟΝΥΣΟΣ
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 31-12-2012
Μηνύματα: 66
Προεπιλογή Υπολογισμός υπολοίπου ανά γραμμή σε μία φόρμα

Γεια χαρά ,
Γνωρίζει κανεις πως μπορώ να έχω το υπόλοιπο ανά γραμμή;
Δηλαδή

ΧΡΕΩΣΗ ΠΙΣΤΩΣΗ ΥΠΟΛΟΙΠΟ
100 0 100
150 0 250
0 100 150
200 0 350
.... .... .....
.... .... .....
Απάντηση με παράθεση
  #2  
Παλιά 14-03-13, 16:47
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 18-06-2010
Μηνύματα: 3.674
Προεπιλογή

Καλησπέρα

Διονύση, αν η ΒΔ έχει κατάλληλη δομή, η υλοποίηση του ζητούμενου είναι αρκετά απλή.

Αν υποθέσουμε ότι:

1) Η ΒΔ περιέχει τον πίνακα «ΤΑΜΕΙΟ» με πεδία [ΗΜΕΡΟΜΗΝΙΑ], [ΧΡΕΩΣΗ] και [ΠΙΣΤΩΣΗ].

2) Τα πεδία [ΧΡΕΩΣΗ] και [ΠΙΣΤΩΣΗ] σχεδιάζονται ώστε να μη δέχονται NULL τιμές (ορίζονται υποχρεωτικά με προεπιλεγμένη τιμή μηδέν (0)).

3) Η δεσμευμένη συνεχής φόρμα περιέχει τα παραπάνω πεδία και επιπλέον ένα αδέσμευτο πλαίσιο κειμένου με όνομα [ΥΠΟΛΟΙΠΟ].

Θα αρκούσε να βάλουμε στην ιδιότητα «Προέλευση στοιχείου ελέγχου» του πλαισίου τον τύπο:

=DSum("[ΧΡΕΩΣΗ]-[ΠΙΣΤΩΣΗ]";"ΤΑΜΕΙΟ";"[ΗΜΕΡΟΜΗΝΙΑ]<=#" & Format([ΗΜΕΡΟΜΗΝΙΑ];"mm/dd/yyyy") & "#").

Έτσι σε κάθε ημερομηνία το πλαίσιο κειμένου θα εμφάνιζε το υπόλοιπο, λαμβάνοντας υπόψη όλες τις χρεώσεις και πιστώσεις μέχρι και τη συγκεκριμένη ημερομηνία.

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

Φιλικά/Γιώργος
Απάντηση με παράθεση
  #3  
Παλιά 15-03-13, 10:03
Όνομα: ΔΙΟΝΥΣΟΣ
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 31-12-2012
Μηνύματα: 66
Προεπιλογή Σωστός!!!

Καλημέρα .....
Ευχαριστώ για την απάντησή σου

Η Dsum δουλεύει καλά αλλά μου δημιουργεί πρόβλημα όταν στην ίδια ημερομηνία έχω περισσότερες από μία εγγραφές
Σου επισυνάπτω ενα word file με την φόρμα των αποτελεσμάτων. Αυτό που χαρακτηρίζει την μοναδικότητα κάθε εγγραφής είναι ο Κωδικός Παραγγελίας [ΚωδΠαραγγελίας] ο οποίος αν χρησιμοποιηθεί στην DSum πιστεύω ότι θα λύσει το πρόβλημα.

Διονύσης
Συνημμένα Αρχεία
Τύπος Αρχείου: doc xreosi-pistosi.doc (134,5 KB, 111 εμφανίσεις)
Απάντηση με παράθεση
  #4  
Παλιά 15-03-13, 11:39
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 18-06-2010
Μηνύματα: 3.674
Προεπιλογή

Καλημέρα

Αν το πρωτεύον κλειδί αυξάνεται με την ημερομηνία, θα μπορούσες να χρησιμοποιήσεις τον τύπο:

=DSum("[ΧΡΕΩΣΗ]-[ΠΙΣΤΩΣΗ]";"ΤΑΜΕΙΟ";" [ID]<=" & [ID]).

Διαφορετικά χρησιμοποίησε τον τύπο:

=DSum("[ΧΡΕΩΣΗ]-[ΠΙΣΤΩΣΗ]";"ΤΑΜΕΙΟ";"[ΗΜΕΡΟΜΗΝΙΑ]<#" & Format([ΗΜΕΡΟΜΗΝΙΑ];"mm/dd/yyyy") & "# OR ([ΗΜΕΡΟΜΗΝΙΑ]=#" & Format([ΗΜΕΡΟΜΗΝΙΑ];"mm/dd/yyyy") & "# AND [ID]<=" & [ID] & ")").

Προσθήκη

Στην πρώτη περίπτωση η ταξινόμηση θα γίνει με το πρωτεύον κλειδί.

Στη δεύτερη πρώτα με την ημερομηνία και μετά με το πρωτεύον κλειδί.

Φιλικά/Γιώργος

Τελευταία επεξεργασία από το χρήστη kapetang : 15-03-13 στις 11:44. Αιτία: Προσθήκη
Απάντηση με παράθεση
  #5  
Παλιά 15-03-13, 12:02
Όνομα: ΔΙΟΝΥΣΟΣ
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 31-12-2012
Μηνύματα: 66
Προεπιλογή ΣΩΣΤΟΣ!!!!!

Καταπληκτικά ,
Ευχαριστώ Γιώργο.
Δούλεψε με την δεύτερη DSum.
Αν μπορείς να μου εξηγήσεις λιγάκι πως δουλεύει στην DSum το τμήμα των κριτηρίων με τις ημερομηνίες και τα format.

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

Και πάλι ευχαριστώ

Διονύσης
Απάντηση με παράθεση
  #6  
Παλιά 15-03-13, 19:46
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 18-06-2010
Μηνύματα: 3.674
Προεπιλογή

Καλησπέρα

Ένας τρόπος για να αναγνωρίζονται σωστά, από την VBA, οι ημερομηνίες στα κριτήρια των ερωτημάτων και των συγκεντρωτικών συναρτήσεων τομέα (Dsum, DCount, κλπ) είναι να περιβάλλονται από το σύμβολο # και να έχουν την αμερικάνικη μορφή (μήνας/ημέρα/έτος = “mm/dd/yyyy”).

Ακολουθώντας τον παραπάνω κανόνα, στα κριτήρια των συναρτήσεων Dsum, που πρότεινα, περικλείω την ημερομηνία σε #, αφού τη μετατρέψω σε αμερικάνικη μορφή με τη συνάρτηση Format.

Φιλικά/Γιώργος
Απάντηση με παράθεση
  #7  
Παλιά 16-03-13, 13:54
Όνομα: ΔΙΟΝΥΣΟΣ
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 31-12-2012
Μηνύματα: 66
Προεπιλογή ΚΑΤΑΝΟΗΤΟ

Κατανοητό αλλά ,,,,
προσπαθώ να επεκτείνω περαιτέρω την σειρά ταξινόμησης χρησιμοποιώντας άλλο ένα πεδίο [ΚωδΦύσης].
Δηλαδή , να υπολογίζει το υπόλοιπο ανα γραμμή με βάση την ημερομηνία , αν στην ίδια ημερομηνία υπάρχουν περισσότερες απο μία εγγραφές τότε να χρησιμοποιεί και τον [ΚωδΠαραγγελίας] (μέχρι εδώ εν τάξει). Θέλω όμως , σε αυτό το σημείο να δώσω προταιρεότητα στην χρέωση και μετά στην πίστωση. Η χρέωση και η πίστωση αντιπροσωπεύονται απο το πεδίο [ΚωδΦύσης] όπου 2 είναι χρέωση και 1 είναι πίστωση.
Δοκίμασα να μοντάρω στο τέλος της δικής σου DSum το παρακάτω

OR ([Ημ/νίαΠαραγγελίας]=#" & Format([Ημ/νίαΠαραγγελίας];"μμ/ηη/αααα") & "# AND [ΚωδΦύσης]<=" & [ΚωδΦύσης] &

Χωρίς επιτυχία

Μπορώ να προσθέσω και άλλο σκέλος στην DSum ώστε να ελέγχει και το πεδίο [ΚωδΦύσης] πάντα σε σχέση με την ημερομηνία (αλλά και με τον [ΚωδΠαραγγελίας]);

Δεν ξέρω αν κατάλαβες τι ακριβως εννοώ!!!!

Οπως και να 'χει σ ευχαριστώ και πάλι για την πολύτιμη βοήθειά σου..


Διόνυσος
Απάντηση με παράθεση
  #8  
Παλιά 16-03-13, 19:13
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 18-06-2010
Μηνύματα: 3.674
Προεπιλογή

Καλησπέρα

Χωρίς να αλλάξεις την Dsum που λειτουργεί, δοκίμασε να ταξινομήσεις τις εγγραφές σε αύξουσα σειρά ως προς την ημερομηνία, σε φθίνουσα ως προς το πεδίο [ΚωδΦύσης] και σε αύξουσα ως προς το πεδίο [ΚωδΠαραγγελίας].

Ίσως δουλέψει.

Αν ανέβαζες ένα δείγμα της ΒΔ (φόρμα με τα υποκείμενα ερωτήματα και πίνακες) θα διευκόλυνες τα μέλη να κατανοήσουν το ζητούμενου, να δοκιμάσουν τις ιδέες τους και να βοηθήσουν.

Φιλικά/Γιώργος
Απάντηση με παράθεση
  #9  
Παλιά 18-05-16, 18:13
Όνομα: ΚΩΝΣΤΑΝΤΙΝΟΣ
Έκδοση λογισμικού Office: Ms-Office 2013
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 14-05-2016
Μηνύματα: 9
Προεπιλογή

Καλησπέρα. Θα μπορούσε κάποιος να βοηθήσει.
ποιον τύπο θα χρησιμοποίησω για να έχω στην ίδια
γραμμή το υπόλοιπο. Θέλω έναν απλό τύπο χωρίς
κωδικούς και ημερομηνίες. Ευχαριστώ.
ΧΡΕΩΣΗ ΠΙΣΤΩΣΗ ΥΠΟΛΟΙΠΟ
10 2 8
5 0 13
5 10 8
Απάντηση με παράθεση
  #10  
Παλιά 19-05-16, 10:15
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 18-06-2010
Μηνύματα: 3.674
Προεπιλογή

Καλημέρα

Κωνσταντίνε, καλωσόρισες στην παρέα μας.

Για να βρούμε το υπόλοιπο σε κάποια γραμμή, θα πρέπει να βρούμε το άθροισμα των διαφορών [ΧΡΕΩΣΗ]-[ΠΙΣΤΩΣΗ], της τρέχουσας γραμμής και όλων των προηγούμενων.

Στον τύπο συνεπώς του αθροίσματος (Dsum) των διαφορών, θα πρέπει να υπάρχει και ένα κριτήριο για των προσδιορισμό της τρέχουσας και των προηγούμενων εγγραφών.

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

Κατά τη γνώμη μου αυτό που ζητάς «έναν απλό τύπο χωρίς κωδικούς και ημερομηνίες» είναι αδύνατο να γίνει.

Φιλικά/Γιώργος

Τελευταία επεξεργασία από το χρήστη kapetang : 19-05-16 στις 18:49. Αιτία: τον-->των
Απάντηση με παράθεση
Απάντηση στο θέμα


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

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


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

Θέμα Δημιουργός Forum Απαντήσεις Τελευταίο Μήνυμα
[Συναρτήσεις] Συνάρτηση για υπολογισμό υπολοίπου zana Excel - Ερωτήσεις / Απαντήσεις 3 21-04-15 18:50
[ Φόρμες ] Υπολογισμός ποσού σε φόρμα και μεταφορά στον αντίστοιχο πίνακα ΔΙΟΝΥΣΙΟΣ Access - Ερωτήσεις / Απαντήσεις 16 25-12-14 19:40
[ Εκθέσεις ] Αλλαγής σελίδας και μεταφοράς υπολοίπου teotrip603 Access - Ερωτήσεις / Απαντήσεις 19 24-11-14 16:04
[VBA] Μεταφορά υπολοίπου tecgeo Excel - Ερωτήσεις / Απαντήσεις 1 03-01-13 22:32
Ενημέρωση Υπολοίπου Χρήστος Access - Ερωτήσεις / Απαντήσεις 2 14-05-12 16:22


Η ώρα είναι 06:59.