lammis Δημοσ. 14 Ιουνίου 2010 Δημοσ. 14 Ιουνίου 2010 Έχω δημιουργήσει μια βάση δεδομένων με διευθύνσεις σε access 2007 και θα ήθελα να κάνω ένα ερώτημα με δυο πεδία (ΤΚ - Πλήθος_ΤΚ) αλλά στο πεδίο Πλήθος ΤΚ να περιέχονται αποτελέσματα-σύνολα που να συμπίπτουν τα 3 πρώτα ψηφία του ΤΚ (ταχυδρομικός κώδικας) π.χ 10400 = 3 ...από τιμές ΤΚ (10438, 10440, 10441) ΤΚ .......ΠΛΗΘΟΣ_ΤΚ 10400..... 3 10500..... 1 10600..... 7 ...... κ.α. Επισυνάπτω συνημμένο αρχείο για περεταίρω βοήθεια ΣΥΛΛΟΓΟΣ.zip
Bspus Δημοσ. 14 Ιουνίου 2010 Δημοσ. 14 Ιουνίου 2010 Μπορεις να φτιαξεις ενα view του πινακα που θα εχει ενα ακομα πεδιο που θα ειναι το ακεραιο μερος του ΤΚ / 100 Μετα θα ειναι ευκολο να γκρουπαρεις απο αυτο το view
lammis Δημοσ. 14 Ιουνίου 2010 Μέλος Δημοσ. 14 Ιουνίου 2010 Μπορεις να φτιαξεις ενα view του πινακα που θα εχει ενα ακομα πεδιο που θα ειναι το ακεραιο μερος του ΤΚ / 100 Μετα θα ειναι ευκολο να γκρουπαρεις απο αυτο το view φίλε μου αν μπορείς να μου το πεις πιο αναλυτικά γιατί δεν γνωρίζω και και πολύ καλά την access πως δηλαδή θα κάνω το πεδίο να είναι ακέραιο μέρος του ΤΚ/100 και το view εννοείς έκθεση;
Bspus Δημοσ. 14 Ιουνίου 2010 Δημοσ. 14 Ιουνίου 2010 View ειναι ενας δυναμικος πινακας. Παιρνεις στοιχεια απο πολλους πινακες, η απο εναν αλλα με περιορισμους (πχ ζητας να σου δειχνει ορισμενα πεδια και μονο εγγραφες με συγκεκριμενες προυποθεσεις). Μπορεις επισης να φτιαξεις και πεδια που υπολογιζονται εκεινη τη στιγμη, οπως ενα πεδιο που κοιταει την τιμη του ΤΚ, το διαιρει με το 100 και το εμφανιζει. Μετα οταν φτιαξεις τα δεδομενα να παρουσιαζονται "στα μετρα σου" ειναι πιο ευκολο να τα διαχειριστεις. Δυστυχως δεν εχω access 2007. Αν το ειχες σε 2003 θα του εριχνα μια ματια και θα σου εφτιαχνα το view
lammis Δημοσ. 14 Ιουνίου 2010 Μέλος Δημοσ. 14 Ιουνίου 2010 View ειναι ενας δυναμικος πινακας. Παιρνεις στοιχεια απο πολλους πινακες, η απο εναν αλλα με περιορισμους (πχ ζητας να σου δειχνει ορισμενα πεδια και μονο εγγραφες με συγκεκριμενες προυποθεσεις). Μπορεις επισης να φτιαξεις και πεδια που υπολογιζονται εκεινη τη στιγμη, οπως ενα πεδιο που κοιταει την τιμη του ΤΚ, το διαιρει με το 100 και το εμφανιζει. Μετα οταν φτιαξεις τα δεδομενα να παρουσιαζονται "στα μετρα σου" ειναι πιο ευκολο να τα διαχειριστεις. Δυστυχως δεν εχω access 2007. Αν το ειχες σε 2003 θα του εριχνα μια ματια και θα σου εφτιαχνα το view επισυνάπτω το αρχείο σε μορφή access 2003 ΣΥΛΛΟΓΟΣ.zip
_tasos Δημοσ. 14 Ιουνίου 2010 Δημοσ. 14 Ιουνίου 2010 Αν έχω καταλάβει καλά θέλεις αυτό: > SELECT CInt(ΤΚ/100) AS prefix, Count(*) AS prefix_count FROM [ΜΕΛΗ ΣΥΛΛΟΓΟΥ] GROUP BY CInt(ΤΚ/100);
Bspus Δημοσ. 14 Ιουνίου 2010 Δημοσ. 14 Ιουνίου 2010 Σου το ανεβασα. Κοιτα στα queries το teliko Δεν εκανα καμια προσπαθεια να το κανω ομορφο, αλλα δουλευει ΣΥΛΛΟΓΟΣ.zip
lammis Δημοσ. 15 Ιουνίου 2010 Μέλος Δημοσ. 15 Ιουνίου 2010 Σου το ανεβασα.Κοιτα στα queries το teliko Δεν εκανα καμια προσπαθεια να το κανω ομορφο, αλλα δουλευει Σε ευχαριστώ φίλε μου που με βοήθησες να είσαι καλά είναι ακριβώς αυτό που ήθελα Στράτος
MastroGiannis Δημοσ. 15 Ιουνίου 2010 Δημοσ. 15 Ιουνίου 2010 Μιας και το πεδίο ΤΚ είναι τύπου Text, καλό είναι να το αντιμετωπίζεις ως τέτοιο. Δηλαδή το ερώτημά που ψάχνεις μπορεί να έχει τον παρακάτω ορισμό: > SELECT Left([ΤΚ],3) AS BasePostal, Count(*) AS CountBasePostal FROM [ΜΕΛΗ ΣΥΛΛΟΓΟΥ] GROUP BY Left([ΤΚ],3); Επίσης, προσπάθησε να αποφεύγεις τα ελληνικά και τα κενά στα ονόματα των αντικειμένων της Access.
lammis Δημοσ. 15 Ιουνίου 2010 Μέλος Δημοσ. 15 Ιουνίου 2010 Μιας και το πεδίο ΤΚ είναι τύπου Text, καλό είναι να το αντιμετωπίζεις ως τέτοιο.Δηλαδή το ερώτημά που ψάχνεις μπορεί να έχει τον παρακάτω ορισμό: > SELECT Left([ΤΚ],3) AS BasePostal, Count(*) AS CountBasePostal FROM [ΜΕΛΗ ΣΥΛΛΟΓΟΥ] GROUP BY Left([ΤΚ],3); Επίσης, προσπάθησε να αποφεύγεις τα ελληνικά και τα κενά στα ονόματα των αντικειμένων της Access. Σε ευχαριστώ φίλε Γιάννη για την απάντηση και την συμβουλή αλλά αυτό που έψαχνα-ήθελα μου το έλυσε ο φίλος Bspus Στράτος
MastroGiannis Δημοσ. 15 Ιουνίου 2010 Δημοσ. 15 Ιουνίου 2010 Σε ευχαριστώ φίλε Γιάννη για την απάντηση και την συμβουλή αλλά αυτό που έψαχνα-ήθελα μου το έλυσε ο φίλος Bspus Στράτος Να 'σαι καλά φίλε Στράτο! Χαίρομαι που βρέθηκε η λύση. Φρόντισε μόνο να αλλάξεις τον τύπο του πεδίου ΤΚ σε μεγάλο ακέραιο (Long Integer). Αν ο κωδικός περιέχει μη αριθμητικούς χαρακτήρες (κενά κτλ), για παράδειγμα "300 01" η έκφραση (ΤΚ/100) δεν θα δουλέψει. Γιάννης
_tasos Δημοσ. 15 Ιουνίου 2010 Δημοσ. 15 Ιουνίου 2010 Το ότι δεν θα δουλέψει ίσως κ να είναι καλό. Θα καταλάβει ότι τα data του δεν είναι σωστά. Π.χ. με την προσέγγιση που πρότεινες θα πάρει απλά λάθος αποτελέσματα. Κ ίσως αργήσει να το καταλάβει. Βέβαια η σωστή προσέγγιση για το θέμα της ποιότητας των δεδομένων (όπως πολύ σωστά είπες) είναι το πεδίο να είναι ακέραιος.
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.