Εμφάνιση ενός μόνο μηνύματος
  #4  
Παλιά 26-03-13, 12:17
kapetang Ο χρήστης kapetang δεν είναι συνδεδεμένος
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 18-06-2010
Μηνύματα: 3.674
Προεπιλογή

Καλημέρα

Η εμφάνιση των εγγραφών σε κάποιο ερώτημα εξαρτάται από το φίλτρο και την ταξινόμηση που εφαρμόζεται.

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

Για παράδειγμα:

Ας υποθέσουμε ότι ο πίνακας [tblTest] περιέχει και τα πεδία [ID], [fWhere] και [fSort].

Το πεδίο [ID] πρέπει να έχει μοναδικές τιμές ανεξάρτητα τύπου.

Το πεδίο [fWhere] χρησιμοποιείται για το φιλτράρισμα των εγγραφών.

Το πεδίο [fSort] χρησιμοποιείται για την αύξουσα ταξινόμηση των εγγραφών.

Από τον πίνακα δημιουργούμε ένα ερώτημα στο οποίο ταξινομούμε πρώτα κατά [fSort] και μετά κατά [ID], με κριτήρια στο πεδίο [fWhere] ( πχ [fWhere]>2).
Για να πάρουμε σωστό αποτέλεσμα στο πεδίο αρίθμησης θα μπορούσαμε να βάλουμε τον τύπο:
Κώδικας:
Counter: (Select count(*) from [tblTest] as P where ([P].[fSort]<[tblTest].[fSort] 
OR ([P].[fSort]=[tblTest].[fSort] And P.[ID]<=[tblTest].[Id])) and [P].fwhere>2 )
Ο τύπος αυτός είναι ένα δευτερεύον ερώτημα.

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

Φιλικά/Γιώργος
Απάντηση με παράθεση