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/3113-poliploko-erotima.html)

parara 18-04-14 13:27

Πολύπλοκο ερώτημα !!!
 
Αν έχει κανείς ασχοληθεί με σύνθετα ερωτήματα ίσως μπορεί να δώσει κάποια ιδέα.

Έχω ερώτημα που προκύπτει από συνένωση 2 άλλων ερωτημάτων.

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

Αποθήκη Α Αποθήκη Β Αποθήκη Γ

Είδος 1 Τιμή Ποσότητα Τιμή Ποσότητα Τιμή Ποσότητα
Είδος 2 Τιμή Ποσότητα Τιμή Ποσότητα Τιμή Ποσότητα
Είδος 3 Τιμή Ποσότητα Τιμή Ποσότητα Τιμή Ποσότητα


Δεν ξέρω πως αλλιώς να το θέσω.

Όπως και ν' χει , να περάσετε όλοι σας καλά και Χρόνια Πολλά

kapetang 19-04-14 09:53

1 Συνημμένο(α)
Καλό Πάσχα σε όλους

Δες, στην επισυναπτόμενη ΒΔ, μια προσέγγιση με ερώτημα διασταύρωσης (Crosstab).

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



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

parara 23-04-14 10:59

Το δοκίμασα και δουλεύει. Ευχαριστώ πολύ.

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

kapetang 23-04-14 15:36

1 Συνημμένο(α)
Για να χρησιμοποιηθεί κάποιο πεδίο φόρμας σε φίλτρο ερωτήματος Crosstab θα πρέπει να δηλωθεί ρητά ως παράμετρος.

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

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

PARAMETERS [Forms]![frmFilter]![txtEidos] Text ( 255 );
TRANSFORM Format(nz(Sum(tblData.Ποσότητα),0),"Fixed") AS ΠοσότηταΕίδους
SELECT tblData.Είδος, tblData.Τιμή, Sum(tblData.Ποσότητα) AS Συν_Ποσότητα
FROM tblData
WHERE (((tblData.Είδος)=[Forms]![frmFilter]![txtEidos]))
GROUP BY tblData.Είδος, tblData.Τιμή
PIVOT tblData.Αποθήκη;


parara 24-04-14 12:39

Αν θέλω να χρησιμοποιήσω αριθμό (αντί για κείμενο) ώς φίλτρο από την φόρμα πρέπει να αλλάξω το Text (255) με κάτι άλλο;

kapetang 24-04-14 15:01

  1. Άνοιξε το ερώτημα σε προβολή σχεδίασης.
  2. Στην κορδέλα κάνε κλικ στο κουμπί Parameters (παράμετροι).
  3. Στο πλαίσιο διαλόγου που θα ανοίξει, μπορείς, για κάθε παράμετρο , να επιλέξεις τον τύπο των δεδομένων.

parara 25-04-14 10:58

Είσαι φοβερός , το βρήκα.

Μπορούμε να βάλουμε και παράμετρο ημερομηνίας είδα , αλλά μεταξύ διαστημάτων ημερομηνίας γίνεται;
Κάτι σαν το " Between #01/01/2014# and #30/04/2014#

kapetang 25-04-14 14:52

Αν τα πεδία της φόρμας (frmFilter), με την ημερομηνία έναρξης και λήξης του χρονικού διαστήματος, είναι txtFrom και txtTo, δοκίμασε τα παρακάτω:

1) στα κριτήρια βάλε: Between [Forms]![frmFilter]![txtFrom] And [Forms]![frmFilter]![txtTo]

2) Στο πλαίσιο διαλόγου των παραμέτρων πρόσθεσε (διαφορετικές γραμμές) και τις 2 παραμέτρους.

[Forms]![frmFilter]![txtFrom]
[Forms]![frmFilter]![txtTo]


Η ώρα είναι 04:27.

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


Search Engine Optimization by vBSEO 3.3.2