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/1493-sintheto-erotima.html)

mdragon 17-11-11 11:53

Σύνθετο Ερώτημα
 
1 Συνημμένο(α)
Καλημέρα σε όλη την παρέα.
Έχω μια βάση στην οποία καταχωρώ το πετρέλαιο της δεξαμενής και πως αυτό μοιράζεται.
Θα ήθελα να φτιάξω ένα ερώτημα στο οποίο να δηλώνω την ημερομηνία και να μου δίνει το
υπόλοιπο της δεξαμενής εκείνη την ημέρα. Δηλαδή να παίρνει όλα τα γεμίσματα της δεξαμενής που έχουν γίνει πριν την δεδομένη ημερομηνία και να αφαιρεί τις καταναλώσεις.
Τελικά δεν είμαι σε καθόλου καλή φόρμα. ΒΟΗΘΕΙΑ!!!!




Φιλικά,
Μάρω

kapetang 17-11-11 18:13

Μάρω, καλησπέρα

Για τον υπολογισμό του υπόλοιπου δοκίμασε το παρακάτω ερώτημα:
Κώδικας:

SELECT DISTINCT [Δώσε την ημερομηνία] AS ΗΜΕΡΟΜΗΝΙΑ, (Select sum([Posotita]) 
From Dexameni Where Hmerominia< [Δώσε την ημερομηνία])-(Select sum([Posotita]) 
From Petrelaio Where Hmerominia< [Δώσε την ημερομηνία]) AS ΥΠΟΛΟΙΠΟ
FROM Dexameni;

Το σύμβολο < πιθανόν να θέλει αντικατάσταση με το <=

Η σχεδίαση της βάσης σου, κατά τη γνώμη μου παρουσιάζει αδυναμίες:

1) Ενώ στους πίνακες έχεις πεδία αυτόματης αρίθμησης (μοναδικές τιμές) χρησιμοποιείς σύνθετα πρωτεύοντα κλειδιά (δύο πεδία).

2) Οι σχέσεις των πινάκων δε βασίζονται στα πρωτεύοντα κλειδιά.

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

mdragon 18-11-11 08:48

Φίλε Γιώργο,
Κάθε μου σχέση βασίζεται σε πρωτεύων κλειδί αλλιώς δεν θα μου επέτρεπε την ακεραιότητα των αναφορών. Ο λόγος που χρησιμοποιώ 2 κλειδιά σε αρκετούς πίνακες είναι γιατί αφενός μου το επιτρέπει και αφ΄εταίρου γιατί τα πεδία που συνδέεις θα πρέπει να έχουν ίδια μορφή.
Έτσι ή θα έπρεπε να χρησιμοποιήσω ένα επιπλέον πεδίο με τη μορφή αριθμού (για να ταιριάζει με την αυτόματη αρίθμηση) ή να μην χρησιμοποιώ καθόλου αυτόματη αρίθμηση.
Εσύ τι κάνεις στη θέση μου???



Την καλημέρα μου,
Μάρω

kapetang 18-11-11 11:17

1 Συνημμένο(α)
Μάρω, Καλημέρα

Στη ΒΔ που επισυνάπτω:

1. Τροποποίησα τη σχεδίαση της βάσης σου.

2. Τροποποίησα τα ερωτήματα και τις φόρμες για να ανταποκρίνονται στη νέα σχεδίαση.

3. Πρόσθεσα το ερώτημα «Qry Ypoloipo» και τον πίνακα «tblHelp» για τον υπολογισμό του αποθέματος του πετρελαίου.

Στο ερώτημα «Qry Ypoloipo» μπορούσε να χρησιμοποιηθεί οποιοσδήποτε πίνακας.
Προτίμησα να δημιουργήσω το βοηθητικό πίνακα «tblHelp» που έχει μία μόνο εγγραφή, ώστε το ερώτημα να εκτελείται γρηγορότερα.

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

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

mdragon 18-11-11 13:06

Πολύ καλή η προσέγγισή σου.
Μένει μόνο να μετατρέψω τη δική μου.





Σε ευχαριστώ για το χρόνο σου.
Μάρω

kapetang 18-11-11 15:39

Καλησπέρα στην παρέα

Μάρω, το παρακάτω ερώτημα σε μορφή SQL δίνει για κάθε ημερομηνία (συμπεριλαμβάνεται) του πίνακα «Dates» την ποσότητα που έχει εισαχθεί στη δεξαμενή, την ποσότητα που έχει καταναλωθεί και το υπόλοιπο (απόθεμα).
Κώδικας:

SELECT Dates.IdDate, Dates.Hmerominia, Dates.DateIsLocked, (Select sum([Posotita]) 
From Dexameni Where Hmerominia<= Dates.[Hmerominia]) AS ΠΡΟΜΗΘΕΙΑ,
(Select sum([Posotita])  From Petrelaio Where Hmerominia<= Dates.[Hmerominia]) AS ΚΑΤΑΝΑΛΩΣΗ,
 [ΠΡΟΜΗΘΕΙΑ]-[ΚΑΤΑΝΑΛΩΣΗ] AS ΥΠΟΛΟΙΠΟ
FROM Dates;

Ίσως σου φανεί χρήσιμο.

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

mdragon 19-11-11 11:56

:thumbs-up::thumbs-up::thumbs-up::thumbs-up:


Καλημέρααααα

kapetang 20-11-11 18:17

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

Η επισυναπτόμενη ΒΔ αποτελεί αναβάθμιση της προηγούμενης.

Η αναβάθμιση αφορά τη φόρμα «Form Dates». Συγκεκριμένα:

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

2. Πρόσθεσα ένα πλαίσιο κειμένου που εμφανίζει τη διαθέσιμη ποσότητα (στοκ) την τρέχουσα στιγμή.

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

Όλα αυτά θα τα δεις στη φόρμα «FormDates2», που είναι η αναβάθμιση της «Form Dates».

Ελπίζω να μη σε ταλαιπωρώ.

Φιλικά/Γιώργος
ΥΓ. Τη ΒΔ για τις εγγυητικές δεν την είδα ακόμα.

mdragon 21-11-11 13:12

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



Φιλικά,
Μάρω


Η ώρα είναι 23:46.

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


Search Engine Optimization by vBSEO 3.3.2