Ανανέωση ιστοσελίδας
ms-office.gr > Forum > Microsoft Access > Access - Ερωτήσεις / Απαντήσεις > Η συνάρτηση count σε sql στην Access 2007

Access - Ερωτήσεις / Απαντήσεις Access + VBA... Εδώ δεν υπάρχουν όρια!

Απάντηση στο θέμα

 

Εργαλεία Θεμάτων Τρόποι εμφάνισης
  #1  
Παλιά 15-11-10, 10:05
Όνομα: Δημήτρης
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 09-11-2010
Περιοχή: Λάρισα
Μηνύματα: 1
Προεπιλογή Η συνάρτηση count σε sql στην Access 2007

Καλημέρα παιδιά...

θα ήθελα αν μπορούσε κάποιος να δώσει μια λύση στο πρόβλημα μου.
Το πρόβλημα μου έχει ως εξής:
θέλω σε μια αναφορά (ερώτημα που βασίζεται σε αναφορά) να χρησιμοποιήσω τη συναρτήση count 3 φορές στο ίδιο πεδίο αλλά... με διαφορετικό κριτήριο σε κάθε count και βάση της συνθήκης να "γκρούπαρει" ανά μήνα π.χ.
Μήνας Ρεπό Άδεια Διανυκτέρευση
10 1 2 3
11 0 3 4

όπου Ρεπό ,΄΄Αδεια ,Διανυκτέρευση είναι αντίστοιχα οι συναρτήσεις count.
Δοκίμασα τη DCount αλλά επιστρέφει αθροιστικά π.χ.
Μήνας Ρεπό Άδεια Διανυκτέρευση
10 1 5 7
11 1 5 7

καμμία ιδέα?Γιατί σε ενα ερώτημα δε παίζουν οι 3 count.
Ευχαριστώ πολύ εκ των προτέρων!
Απάντηση με παράθεση
  #2  
Παλιά 15-11-10, 16:46
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 18-06-2010
Μηνύματα: 3.674
Προεπιλογή

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

Δημήτρη, εκείνο που χρειάζεσαι, αν κατάλαβα καλά, είναι ένα ερώτημα διασταύρωσης στο οποίο θα βασίσεις την έκθεση.
Στην προβολή φύλλου δεομένων του ερωτήματος ως τίτλο γραμμής θα έχουμε την ταυτότητα του ατόμου (εργαζόμενου) και το μήνα και ως τίτλους στηλών την αιτία απουσίας (άδεια, ρεπό, διανυκτέρευση).
Η βάση δεδομένων που επισυνάπτεται είναι ένα παράδειγμα το οποίο μπορείς να χρησιμοποιήσεις για να κάνεις κάτι ανάλογο με τα δικά σου δεδομένα.
Αποτελείται από ένα πίνακα με τα στοιχεία απουσίας των εργαζόμενων (tblApusies), ένα ερώτημα διασταύρωσης (qryApusies) και μία έκθεση (rptApusies).
Για να δημιουργήσεις ερώτημα διασταύρωσης μπορείς να χρησιμοποιήσεις τον οδηγό που διαθέτει η access (Κορδέλα > Δημιουργία > Ομάδα άλλο > Οδηγός ερωτημάτων > Οδηγός ερωτημάτων διασταύρωσης) και να τροποποιήσεις λίγο το αποτέλεσμα.
Παρακάτω δίνεται και η πρόταση SQL του ερωτήματος διασταύρωσης.
Κώδικας:
TRANSFORM Count(tblApusies.fldID) AS ΠλήθοςΤουfldID
SELECT tblApusies.AtomoID, Month([DateApusias]) AS Μήνας, Count(tblApusies.fldID) AS ΣύνολοΑπουσιών
FROM tblApusies
GROUP BY tblApusies.AtomoID, Month([DateApusias])
PIVOT tblApusies.LogosApusias;
Φιλικά/Γιώργος
Συνημμένα Αρχεία
Τύπος Αρχείου: mdb CrosstabReport.mdb (252,0 KB, 51 εμφανίσεις)
Απάντηση με παράθεση
  #3  
Παλιά 29-11-10, 16:04
ΜΑΡΙΑ ΜΑΡΙΑ
Guest
 
Μηνύματα: n/a
Προεπιλογή

ΕΠΕΙΓΟΝ
Καλησπέρα,
Χρειάζομαι την βοήθειά σας.
Εχω 3 στήλες σε ένα query . η μία είναι το όνομα του πωλητή, η δεύτερη είναι το όνομα της εταιρείας και η τρίτη στήλη λέει το αποτέλεσμα δηλαδή αν κέρδισε , έχασε ή περιμένει την δουλειά. Θέλω να βγάλω το εξής και δεν ξέρω πως: ανα πωλητή το ποσοστό επιτυχίας δουλειών σε ποσοστό δηλαδή κερδισμένες δουλειές / τις εταιρείες που έχει επισκευθεί και δεν ξέρω πως να το κάνω αφου περιέχουν μόνο λέξεις τα κελιά μου.

Σας ευχαριστώ
Απάντηση με παράθεση
  #4  
Παλιά 29-11-10, 17:45
Το avatar του χρήστη nisgia
Super Moderator
Όνομα: Γιάννης
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 12-10-2009
Περιοχή: Ηγουμενίτσα
Μηνύματα: 161
Προεπιλογή

Καλησπέρα Μαρία και καλωσόρισες στο φόρουμ!

Δεν παίζουν ρόλο οι τύποι δεδομένων στα ερωτήματα συνόλων όταν πρόκειται για καταμέτρηση.
Όμως με ένα ερώτημα δεν θα καταφέρεις το ζητούμενο. Θα χρειαστείς τουλάχιστον 3.
Ένα για τις επιτυχίες, ένα για τις αποτυχίες και ένα για τα ποσοστά επιτυχίας.

Δες λοιπόν στο συνημμένο πως γίνεται.
Τα ποσοστά επιτυχίας φαίνονται στο ερώτημα "qrySuccessRates".
Το ερώτημα "qrySuccesses" επιστρέφει τις επιτυχίες ενώ το "qryLostJobs" τις αποτυχίες.

Ελπίζω να βοηθάω...

Φιλικά, Γιάννης.
Συνημμένα Αρχεία
Τύπος Αρχείου: zip Sellers.zip (13,4 KB, 26 εμφανίσεις)
__________________
Αν δεν το ρωτούσες, δεν θα το μαθαίναμε ποτέ...!
-----------------------------------------------
Τελικά η γνώση, αντίθετα με ό,τι μέχρι σήμερα πίστευα, είναι η φυλακή της σκέψης.
Όταν η αφετηρία είναι η ελεύθερη σκέψη, δεν χρειάζεται πλέον να φτάσεις πουθενά!
Απάντηση με παράθεση
  #5  
Παλιά 29-11-10, 19:53
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 18-06-2010
Μηνύματα: 3.674
Προεπιλογή

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

Μαρία καλωσόρισες.
Στο δείγμα βάσης δεδομένων που επισυνάπτεται παρουσιάζεται μια άλλη προσέγγιση με χρήση ερωτήματος διασταύρωσης.
  1. Η βάση αποτελείται από ένα απλό πίνακα «tblPolisis» με πεδία «Politis», «Pelatis» και «Apotelesma». Το τελευταίο πεδίο παίρνει τιμές «Αναμονή», «Κερδισμένη» και «Χαμένη».
  2. Από το ερώτημα διασταύρωσης «qryApotelesmataAnaPoliti» το οποίο στηρίζεται στον πίνακα «tblPolisis» (θα μπορούσε να στηριχθεί και σε ρώτημα) που εμφανίζει το πλήθος των επισκέψεων κάθε πωλητή και τα ποσοστά ανά κατηγορία «Αναμονή», «Κερδισμένη» και «Χαμένη».
Παρακάτω δίνεται και η SQL προβολή του ερωτήματος διασταύρωσης, στο οποίο, αν χρησιμοποιηθεί, θα πρέπει να γίνουν οι αναγκαίες αλλαγές στα ονόματα.
Κώδικας:
TRANSFORM Count(tblPolisis.[Pelatis])/[Σύνολο Πελατών] AS ΠλήθοςΤουPelatis
SELECT tblPolisis.Politis, Count(tblPolisis.Pelatis) AS [Σύνολο Πελατών]
FROM tblPolisis
GROUP BY tblPolisis.Politis
PIVOT tblPolisis.Apotelesma;
Φιλικά/Γιώργος
Υ.Γ Γιάννη καλωσορίζω και σ’ ένα ......
Συνημμένα Αρχεία
Τύπος Αρχείου: mdb Polisis.mdb (228,0 KB, 43 εμφανίσεις)
Απάντηση με παράθεση
  #6  
Παλιά 29-11-10, 20:21
Το avatar του χρήστη Tasos
Διαχειριστής
Όνομα: Τάσος Φιλοξενιδης
Έκδοση λογισμικού Office: Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική, Γερμανική
 
Εγγραφή: 21-10-2009
Μηνύματα: 2.011
Προεπιλογή

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

Θα ήθελα στο σημείο αυτό να ως διαχειριστής να αναφέρω στη φίλη Μαρία ότι ο λογαριασμός της διαγράφηκε από τη μηχανή του φόρουμ
επειδή θεωρήθηκε ως λογαριασμός (*σ π α μ*) μάλλον λόγω του διπλού ονόματος εκφώνησης (ΜΑΡΙΑ ΜΑΡΙΑ).

Αγαπητή Μαρία, αν θέλεις, μπορείς να ξανακάνεις την εγγραφή σου χρησιμοποιώντας αυτή τη φορά ένα κανονικό όνομα προσφώνησης.

Φιλικά

Τάσος
__________________
Ms-Office Development Team
Ανάπτυξη επαγγελματικών εφαρμογών
Απάντηση με παράθεση
  #7  
Παλιά 30-11-10, 02:03
Το avatar του χρήστη nisgia
Super Moderator
Όνομα: Γιάννης
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 12-10-2009
Περιοχή: Ηγουμενίτσα
Μηνύματα: 161
Προεπιλογή

Παράθεση:
Αρχική Δημοσίευση από kapetang Εμφάνιση μηνυμάτων
Στο δείγμα βάσης δεδομένων που επισυνάπτεται παρουσιάζεται μια άλλη προσέγγιση με χρήση ερωτήματος διασταύρωσης.
Όντως Γιώργο! Πολύ καλύτερη η επιλογή του ερωτήματος διασταύρωσης.
Δεν ξέρω όμως αν είναι σωστό να λαμβάνουν μέρος και οι πωλήσεις σε αναμονή στο ποσοστό επιτυχίας ή αποτυχίας.
Για παράδειγμα, ο πωλητής ΑΑΑ έχει δυο στις δύο κερδισμένες και άλλες δύο σε αναμονή
αλλά το ποσοστό του είναι 50%.

Παράθεση:
Αρχική Δημοσίευση από kapetang Εμφάνιση μηνυμάτων
Υ.Γ Γιάννη καλωσορίζω και σ’ ένα ......
Καλώς σε βρήκα Γιώργο!
Ξέρω, γίναμε για φίλημα, όμως είχα αρκετές ημέρες "εκτός δικτύου".
(Η ευρυζωνικότητα δεν έχει φτάσει ακόμη στους πρόποδες του Γράμμου.)
Έτσι, είχα αντικαταστήσει το πληκτρολόγιο με το ...αλυσοπρίονο.
__________________
Αν δεν το ρωτούσες, δεν θα το μαθαίναμε ποτέ...!
-----------------------------------------------
Τελικά η γνώση, αντίθετα με ό,τι μέχρι σήμερα πίστευα, είναι η φυλακή της σκέψης.
Όταν η αφετηρία είναι η ελεύθερη σκέψη, δεν χρειάζεται πλέον να φτάσεις πουθενά!
Απάντηση με παράθεση
  #8  
Παλιά 30-11-10, 10:58
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 18-06-2010
Μηνύματα: 3.674
Προεπιλογή

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

Γιάννη, ευχαριστώ.
Παράθεση:
Δεν ξέρω όμως αν είναι σωστό να λαμβάνουν μέρος και οι πωλήσεις σε αναμονή στο ποσοστό επιτυχίας ή αποτυχίας.
Για παράδειγμα, ο πωλητής ΑΑΑ έχει δυο στις δύο κερδισμένες και άλλες δύο σε αναμονή
αλλά το ποσοστό του είναι 50%.
Κατά τη γνώμη μου, ο τρόπος υπολογισμού των ποσοστών, που εφαρμόστηκε, δίνει σαφείς πληροφορίες για τη δραστηριότητα κάθε πωλητή και επιπλέον απλοποιεί την υλοποίηση του ερωτήματος διασταύρωσης. Στο ερώτημα έχουμε τον αριθμό των επισκέψεων κάθε πωλητή και αν τον πολλαπλασιάσουμε με τα ποσοστά βρίσκουμε εύκολα πόσες είναι «Κερδισμένες» , «Χαμένες» ή σε «Αναμονή»,.
Αν στον υπολογισμό των ποσοστών δε λάβουμε υπόψη τις περιπτώσεις που είναι σε αναμονή, για να είναι σαφή τα ποσοστά και να έχουμε τις ίδιες πληροφορίες, θα πρέπει να προσθέσουμε στο ερώτημα (τουλάχιστον) και μία στήλη με τις επισκέψεις μείον τις «αναμονές». Αυξάνεται η πολυπλοκότητα χωρίς να έχουμε επιπλέον πληροφορίες.

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


Δικαιώματα - Επιλογές
Δε μπορείτε να δημοσιεύσετε νέα μηνύματα
Δε μπορείτε να δημοσιεύσετε απαντήσεις
Δεν μπορείτε να επισυνάψετε αρχεία
Δεν μπορείτε να επεξεργαστείτε τα μηνύματα σας

Ο κώδικας ΒΒ είναι σε λειτουργία
Τα Smilies είναι σε λειτουργία
Ο κώδικας [IMG] είναι σε λειτουργία
Ο κώδικας HTML είναι εκτός λειτουργίας
Trackbacks are εκτός λειτουργίας
Pingbacks are εκτός λειτουργίας
Refbacks are εκτός λειτουργίας


Παρόμοια Θέματα

Θέμα Δημιουργός Forum Απαντήσεις Τελευταίο Μήνυμα
[ Ερωτήματα ] Συνάρτηση if στην Access Xristos Access - Ερωτήσεις / Απαντήσεις 15 21-04-15 09:04
Η συνάρτηση "Date" στην Access του Office 2013 gmax Access - Ερωτήσεις / Απαντήσεις 4 16-03-13 07:16
Πρόβλημα με την αναζήτηση εγγραφών στην ms access 2007-2010 lefterisg Access - Ερωτήσεις / Απαντήσεις 2 23-02-12 09:36
Μηνυματα Ασφαλειας στην Access 2007 Deminio Access - Ερωτήσεις / Απαντήσεις 5 01-10-09 14:13
Προχειρο στην Access 2007 Deminio Access - Ερωτήσεις / Απαντήσεις 1 08-04-09 08:21


Η ώρα είναι 08:08.