Καλημέρα
Η εμφάνιση των εγγραφών σε κάποιο ερώτημα εξαρτάται από το φίλτρο και την ταξινόμηση που εφαρμόζεται.
Αν προσθέσουμε στο ερώτημα ένα πεδίο για να εμφανίζει τη σειρά των εγγραφών, ο σχετικός τύπος θα πρέπει να λαμβάνει υπόψη την ταξινόμηση και το φίλτρο και συνεπώς θα περιέχει τα πεδία φίλτρου και ταξινόμησης.
Για παράδειγμα:
Ας υποθέσουμε ότι ο πίνακας [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 )
Ο τύπος αυτός είναι ένα δευτερεύον ερώτημα.
Όπως είναι φανερό ο τύπος δεν μπορεί να είναι γενικός, αλλά θα πρέπει να προσαρμόζεται στις διάφορες περιπτώσεις ταξινόμησης και φιλτραρίσματος.
Φιλικά/Γιώργος