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/2433-pedio-arithmisis-eggrafon-se-erotima.html)

ggreg75 25-03-13 11:49

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

Meteora 25-03-13 17:46

Καλησπέρα και χρόνια πολλά.

Δοκίμασε κάτι σαν αυτό, σε υπολογιζόμενο πεδίο a/a και εφόσον έχεις ταξινόμηση αύξουσα στο πεδίο αυτόματης αρίθμησης [id] :
Κώδικας:

a/a: DCount("id";"onomapinaka";"id <= " & [id])
Το [id] είναι πεδίο του πίνακα "onomapinaka"

Με εκτίμηση
Νίκος Δ.

ggreg75 25-03-13 20:59

Νίκο καλησπέρα και Χρόνια Πολλά επίσης,
Με τον τρόπο που προτείνεις υπάρχουν 2 βασικές προϋποθέσεις :
1. Να δημιουργήσω πεδίο αυτόματης αρίθμησης στον πίνακα. Αυτό δεν μπορεί να γίνει γιατί όλη η εργασία γίνεται σε βάση δεδομένων προκαθορισμένου σχήματος και δεν μπορεί να τροποποιηθεί.
2. Παρόλα αυτά, έναν δημιουργήσω το πεδίο ID στον πίνακα, μου επιστρέφει την τιμή του πεδίου [id] . Μετά εάν θελήσω να βάλω ένα κριτήριο στο ερώτημα απλά μου φέρνει τα [id] του πίνακα τα οποία όμως δεν έχουν αριθμητική ακολουθία που χρειάζομαι.
Υπάρχουν πολλοί τρόποι για να φτάσεις στο αποτέλεσμα. Μπορείς να δημιουργήσεις προσωρινούς πίνακες με πεδίο autonumber και με τα κατάλληλα ερωτήματα να φτάσεις στο αποτέλεσμα. Εγώ αυτό που θέλω είναι σε ερώτημα που δεν έχει πεδίο αυτόματης αρίθμησης ή έχει αλλά το φίλτρο δημιουργεί μη αριθμητική ακολουθία και μόνο τότε να μπορεί να μου φέρνει αυτό το πεδίο που ζητάω.

Ευχαριστώ πάντως για την απάντησή σου

Γρηγόρης

kapetang 26-03-13 11:17

Καλημέρα

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

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

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

Ας υποθέσουμε ότι ο πίνακας [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 )

Ο τύπος αυτός είναι ένα δευτερεύον ερώτημα.

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

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


Η ώρα είναι 17:32.

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


Search Engine Optimization by vBSEO 3.3.2