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/1543-kataxorisi-paraggelion-protypo.html)

vasia_gou 22-12-11 19:33

Καταχώρηση Παραγγελιών - Πρότυπο
 
Καλησπέρα σας,

Έχω ξανακάνει μία ερώτηση παλιότερα και με βοηθήσατε πάρα πολύ. Ελπίζω και τώρα.

Λοιπόν, το πρόβλημά μου είναι το εξής:

Χρησιμοποιώ ένα πρότυπο στην Access που λέγεται Καραχώρηση Παραγγελιών. Έχω βάλει πολλές εγγραφές σαν πελάτες και τις παραγγελίες τους με τα κατάλληλα ποσά. Τώρα που θέλω να περάσω τις αποδείξεις, όταν πάω στην πρώτη παραγγελία που για παράδειγμα το ποσό είναι 2,300 €, ο πελάτης έχει δώσει 3,000 €. Μου βγαίνει το νούμερο -700 €, αλλά όταν πάω να περάσω άλλη απόδειξη, σε δεύτερη παραγγελία, δεν μου προσθέτει και το προηγούμενο ποσο. Δηλαδή στη δεύτερη παραγγελία το ποσό είναι 1,000 €, να μου βγάζει 300 € , αφού έδωσε παραπάνω χρήματα στην προηγούμενη απόδειξη. Δεν ξέρω αν είναι κατανοητά αυτά που σας γράφω;

Να είστε καλά....

eratosthenis 23-12-11 10:06

Καλημέρα

Στο afterUpdate της εγγραφής, αν κάνεις me.requery ίσως αποκατασταθεί η "λανθασμένη" εξέλιξη στην εργασία που περιγράφεις.

Με εκτίμηση
Νικόλας

ΥΣ Ανέβασε ένα μικρό δείγμα-συμπιεσμένο- για να γίνει κατανοητή η δυσκολία σου

kapetang 23-12-11 16:21

Καλησπέρα

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

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

Θα μπορούσες να χρησιμοποιήσεις τα παρακάτω ερωτήματα.
1. ΠΑΡΑΓΓΕΛΙΕΣ
Κώδικας:

SELECT Orders.CustomerID, Sum([Order Details].Price) AS ΠΑΡΑΓΓΕΛΙΕΣ
FROM Orders INNER JOIN [Order Details] ON Orders.OrderID = [Order Details].OrderID
GROUP BY Orders.CustomerID;

2. ΠΛΗΡΩΜΕΣ
Κώδικας:

SELECT Orders.CustomerID, Sum(Payments.PaymentAmount) AS ΠΛΗΡΩΜΕΣ
FROM Orders INNER JOIN Payments ON Orders.OrderID = Payments.OrderID
GROUP BY Orders.CustomerID;

3. ΥΠΟΛΟΙΠΟ
Κώδικας:

SELECT ΠΑΡΑΓΓΕΛΙΕΣ.CustomerID, ΠΑΡΑΓΓΕΛΙΕΣ.ΠΑΡΑΓΓΕΛΙΕΣ, ΠΛΗΡΩΜΕΣ.ΠΛΗΡΩΜΕΣ, [ΠΑΡΑΓΓΕΛΙΕΣ]-nz([ΠΛΗΡΩΜΕΣ];0) AS ΥΠΟΛΟΙΠΟ
FROM ΠΑΡΑΓΓΕΛΙΕΣ LEFT JOIN ΠΛΗΡΩΜΕΣ ON ΠΑΡΑΓΓΕΛΙΕΣ.CustomerID = ΠΛΗΡΩΜΕΣ.CustomerID;

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

vasia_gou 27-12-11 10:47

Σας ευχαριστώ για τις απαντήσεις σας.. αλλά μπορείτε να μου πείτε, σε ποιο σημείο τα τοποθετώ αυτά που μου αναφέρετε. Τα ερωτήματα δεν μπορώ να τα δημιουργήσω. Μου δείχνει ότι είναι κενές οι εγγραφές. Επίσης το afterUpdate που ακριβώς να το τοποθετήσω..;;

kapetang 27-12-11 17:21

1 Συνημμένο(α)
Καλησπέρα

Βάσια, τα ερωτήματα στο προηγούμενο μήνυμά μου δουλεύουν με τη ΒΔ, που επισυνάπτω.

Για να δεις τα στοιχεία που εμφανίζουν και να αντιληφτείς πως λειτουργούν, κάνε διπλό κλικ στο ερώτημα «ΧΡΕΩΣΤΙΚΟ_ΥΠΟΛΟΙΠΟ» ή στο ΠΑΡΑΓΓΕΛΙΕΣ_ΠΛΗΡΩΜΕΣ_ΥΠΟΛΟ ΙΠΟ».

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

Για να δουλέψουν στη δική σου ΒΔ, θα πρέπει να τα προσαρμόσεις κατάλληλα.

Αν αντιμετωπίσεις προβλήματα στην προσαρμογή ανέβασε ένα δείγμα της βάσης σου.


Η ώρα είναι 13:05.

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


Search Engine Optimization by vBSEO 3.3.2