Ανανέωση ιστοσελίδας
ms-office.gr > Forum > Microsoft Access > Access - Ερωτήσεις / Απαντήσεις > [ Ερωτήματα ] Πρόβλημα με ένα query.

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

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

 

Εργαλεία Θεμάτων Τρόποι εμφάνισης
  #1  
Παλιά 23-03-14, 11:56
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2007, Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 06-08-2011
Μηνύματα: 70
Προεπιλογή Πρόβλημα με ένα query.

Καλημέρα σε όλες/ους έχω ένα πρόβλημα με ένα query.
Έχω ένα πινάκα που έχω όλα τα στοιχεία αθλητών το ζητούμενο είναι ότι πρέπει να φτιάξω δυο κουμπιά τα όποια θα τρέχουν απο ένα διαφορετικο query και μετά το αποτέλεσμα θα εκτυπώνετε. Το πρόβλημα είναι πως θα κάνω τα παρακάτω γκρουπ. Δηλαδή δίπλα από τα κιλά να εμφανίζονται και τα ονόματα τον αθλητών.

Π.χ 2002 έως 2000

- 33 κιλά
Αντώνης τάδε
Νίκος Νικόπουλος
- 37
.
.
κ.λπ



Κουμπί α

Παίδων (2002-2001- 2000) -33 κιλά, 33-37 κιλά, 37-41 κιλά, 41-45 κιλά, 45-49 κιλά, 49-53 κιλά, 53-57 κιλά, 57-61 κιλά, 61-65 κιλά, +65 κιλά.

Κορασίδων (2002-2001-2000) -29 κιλά, 29-33 κιλά, 33-37 κιλά, 37-41 κιλά, 41-44 κιλά, 44-47 κιλά, 47-51 κιλά, 51-55 κιλά, 55-59 κιλά, +59 κιλά.

Έφηβων (1999-1998- 1997) -45 κιλά, 45-48 κιλά, 48-51 κιλά. 51-55 κιλά, 55-59 κιλά, 59-63 κιλά, 63-68 κιλά, 68-73 κιλά, 73-78 κιλά, +78 κιλά.

Νεανίδες (1999- 1998-1997) -42 κιλά, 42-44 κιλά, 44-46 κιλά, 46-49 κιλά, 49-52 κιλά, 52-55 κιλά, 55-59 κιλά, 59-63 κιλά, 63-68 κιλά, +68 κιλά.



Κουμπί β


Πανπαίδων (2003-2004) -27 κιλά, 27-30 κιλά, 30-33 κιλά, 33-37 κιλά, 37-41 κιλά, 41-45 κιλά, 45-49 κιλά ,49-53 κιλά, 53-57 κιλά, +57 κιλά.

Πανκορασίδων (2003-2004) -27 κιλά, 27-30 κιλά, 30-33 κιλά, 33-37 κιλά, 37-41 κιλά, 41-45 κιλά, 45-49 κιλά ,49-53 κιλά, 53-57 κιλά, +57 κιλά

Πανπαίδων (2005-2006) -21 κιλά, 21-24 κιλά, 24-27 κιλά, 27-30 κιλά, 30-33 κιλά, 33-37 κιλά, 37-41 κιλά, 41-45 κιλά, 45-49 κιλά +49 κιλά.

Πανκορασίδων (2005-2006) -21 κιλά, 21-24 κιλά, 24-27 κιλά, 27-30 κιλά, 30-33 κιλά, 33-37 κιλά, 37-41 κιλά, 41-45 κιλά, 45-49 κιλά +49 κιλά

Πανπαίδων (2007-2008) -17 κιλά, 17-20 κιλά, 20-23 κιλά, 23-26 κιλά, 26-29 κιλά, 29-33 κιλά, 33-37 κιλά, 37-41 κιλά, 41-44 κιλά, +44 κιλά.

Πανκορασίδων (2007-2008) -17 κιλά, 17-20 κιλά, 20-23 κιλά, 23-26 κιλά, 26-29 κιλά, 29-33 κιλά, 33-37 κιλά, 37-41 κιλά, 41-44 κιλά, +44 κιλά.

Πανπαίδων (2009) -17 κιλά, 17-20 κιλά, 20-23 κιλά, 23-26 κιλά, 26-29 κιλά, 29-33 κιλά, 33-37 κιλά, 37-41 κιλά, 41-44 κιλά, +44 κιλά.

Πανκορασίδων (2009) -17 κιλά, 17-20 κιλά, 20-23 κιλά, 23-26 κιλά, 26-29 κιλά, 29-33 κιλά, 33-37 κιλά, 37-41 κιλά, 41-44 κιλά, +44 κιλά.

ευχαριστω
Απάντηση με παράθεση
  #2  
Παλιά 25-03-14, 09:20
Όνομα: Κώστας
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 24-03-2014
Μηνύματα: 1
Προεπιλογή

Καλημερα, το πρωτο κουμπι θα καλει-τρεχει τις 4 πρώτες query και το αλλο κουμπι τις υπόλοιπες.

Στην πρωτη query του πρωτου κουμπιου εχουμε σαν υποχρεωτικο κριτηριο την κατηγορία (π.χ παιδων ) και πολλαπλο κριτηριο τα έτη (π.χ 2001, 2002) με επίσης πολλαπλο κριτηριο τα κιλα (33, 35 κλπ)

Όταν τρεχουμε την query φροντιζουμε αυτή να γραψει όλα τα δεδομενα σε ένα προσωρινο πινακα.

Ακριβως ετσι φτιαχνουμε και τις υπολοιπες query.

Οποτε μετα μπορούμε να παρουμε τα στοιχεια από τον προσωρινο πινακα να τα διαμορφώσουμε και να τα στειλουμε σε μια αναφορα (report) προς εμφανιση.

Την επομενη φορα που θα παμε να εκτελέσουμε το κουμπι Α, πρεπει πρωτα να σβησούμε όλα τα δεδομενα του προσωρινου πίνακα πριν στειλουμε καινουργια για αποφυγη λαθων.
Απάντηση με παράθεση
  #3  
Παλιά 25-03-14, 09:34
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2007, Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 06-08-2011
Μηνύματα: 70
Προεπιλογή

Κωστα ευχαριστω για τον κοπο αλλα ειναι και το θεμα αγορια-κοριτσια δεν ειναι μονο η ηλικια αυτο ειναι που με μπερδευει
Απάντηση με παράθεση
  #4  
Παλιά 25-03-14, 14:40
Όνομα: Στέλιος
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 22-05-2009
Περιοχή: Αθήνα
Μηνύματα: 169
Προεπιλογή

Γιώργο καλημέρα
Στις εκθέσεις μπορείς να βάλεις περισσότερα πεδία ομαδοποίησης. Αν ανεβάσεις μια βάση με τον πίνακα που περιέχει τα δεδομένα θα πάρεις πιο αναλυτική απάντηση.
Απάντηση με παράθεση
  #5  
Παλιά 25-03-14, 16:08
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 18-06-2010
Μηνύματα: 3.674
Προεπιλογή

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

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

Κώδικας:
Public Function CategoriesWeight(Sex As Variant, Etos As Variant, Baros As Variant) As String
'Sex = "A" (ελληνικό)για αγόρι και "Κ" για κορίτσι
'Etos = το έτος γέννησης
'Baros = το βάρος του αθλητή

    Dim i As Long, j As Long, c As Long
    Dim x(1 To 7) As Variant

    Sex = Nz(Sex, ""): Etos = Nz(Etos, 0): Baros = Nz(Baros, 0)


    x(1) = Array(33, 37, 41, 45, 49, 53, 57, 61, 65)
    x(2) = Array(29, 33, 37, 41, 44, 47, 51, 55, 59)
    x(3) = Array(45, 48, 51, 55, 59, 63, 68, 73, 78)
    x(4) = Array(42, 44, 46, 49, 52, 55, 59, 63, 68)
    '----------------------------------------------
    x(5) = Array(27, 30, 33, 37, 41, 45, 49, 53, 57)
    x(6) = Array(21, 24, 27, 30, 33, 37, 41, 45, 49)
    x(7) = Array(17, 20, 23, 26, 29, 33, 37, 41, 44)

    'Η διάκριση θα έπρεπε να γίνει με βάση την ηλικία του αθλητή.
    'Έγινε όμως με βάση το έτος γέννησης, σύμφωνα με το ζητούμενο

    Select Case Etos
    Case 2002, 2001, 2000
        If Sex = "Α" Then c = 1 Else c = 2
    Case 1999, 1998, 1997
        If Sex = "Α" Then c = 3 Else c = 4
    Case 2003, 2004
        c = 5
    Case 2005, 2006
        c = 6
    Case 2007, 2008, 2009
        c = 7
    Case Else
        Exit Function
    End Select

    For i = 0 To UBound(x(c))
        If Baros < x(c)(0) Then
            CategoriesWeight = "-" & x(c)(i)
            Exit Function
        ElseIf Baros >= x(c)(UBound(x(c))) Then
            CategoriesWeight = "+" & x(c)(UBound(x(c)))
        Else
            If Baros >= x(c)(i) And Baros < x(c)(i + 1) Then
                'Σύμφωνα με τα μαθηματικά το σύμβολο [ δείχνει ότι το κάτω όριο
                'περιλαμβάνεται, ενώ το ) δείχνει ότι το πάνω όριο δεν περιλαμβάνεται
                CategoriesWeight = "[" & CStr(x(c)(i)) & ", " & CStr(x(c)(i + 1)) & ")"
                Exit Function
            End If
        End If
    Next

End Function
Στη συνάρτηση:

1) Οι 12 περιπτώσεις, επειδή κάποιες ήταν όμοιες, περιορίστηκαν σε 7.

2) Στα διαστήματα των κατηγοριών η ελάχιστη τιμή περιλαμβάνεται, ενώ η μέγιστη όχι (ανήκει στην επόμενη κατηγορία).

Για παράδειγμα, αν 33<=Baros<37, ο αθλητής ανήκει στην κατηγορία: [33, 37).

Ενώ αν Baros=37 ανήκει στην κατηγορία: [37,41)

Στην επισυναπτόμενη ΒΔ, μπορούμε να δούμε ένα παράδειγμα χρήσης της συνάρτησης στο ερώτημα Categories

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

ΥΓ. Γιώργο, κάνε δοκιμές μήπως κάτι μου διέφυγε
Συνημμένα Αρχεία
Τύπος Αρχείου: mdb Categories.mdb (384,0 KB, 26 εμφανίσεις)
Απάντηση με παράθεση
  #6  
Παλιά 27-03-14, 08:09
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2007, Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 06-08-2011
Μηνύματα: 70
Προεπιλογή

Γιώργο ενα ευχαριστω ειναι λιγο απλα υποκλίνομαι
Απάντηση με παράθεση
Απάντηση στο θέμα


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

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


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

Θέμα Δημιουργός Forum Απαντήσεις Τελευταίο Μήνυμα
[Γενικά] Πρόβλημα εισαγωγής δεδομένων σε κελιά του Excel και πρόβλημα με συνάρτηση ΣΟΦΙΑΖΩΤΟΥ Excel - Ερωτήσεις / Απαντήσεις 0 02-12-13 14:14
Βελτιστοποίηση Query σε Access 2007 Dafnh0106 Access - Ερωτήσεις / Απαντήσεις 6 07-03-13 10:43
Query in a multiple value combo box in Access Zoe Forte Access - Ερωτήσεις / Απαντήσεις 11 08-05-12 01:39
Προβλημα με crosstab query dionisis Access - Ερωτήσεις / Απαντήσεις 4 18-03-11 09:11


Η ώρα είναι 09:24.